2009-06-22 30 views
0

我想在一個對話框中使用終極電網從代碼項目,但網格是不可見的。終極隱形格

m_Plist.AttachGrid(this,IDC_CREDENTIALS)返回true,但返回true,但不顯示網格的靜態文本佔位符。

我使用的樣本代碼從這裏http://www.codeproject.com/KB/MFC/UltimateGrid_Start.aspx?display=PrintAll&fid=452565&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2629959&fr=51#Using_the_Grid_in_a_CDialog

我一直在使用VS2008 SP1安裝最新的更新UltimateGrid72_Src_Update03.zip和Im。

謝謝...

BOOL CCredentials::OnInitDialog() 
{ 
    CDialog::OnInitDialog(); 

    MyCug m_PList; 

m_Plist.AttachGrid(this, IDC_CREDENTIALS); 

} 

回答

3

我沒有用終極網格自己。但是,看着你發佈的代碼,我可以看到,有可能是一個問題:你在棧上宣佈「MyCug」的一個實例,然後將其固定,但基於堆棧的實例將盡快銷燬的OnInitDialog()方法存在。你必須做的是把「MyCug m_PList;」的聲明作爲對話框類的成員,以便網格對象的生命週期與對話框的生存期相同。

0

我不知道爲什麼你的網格沒有顯示,東西找都是它正確地從對話框模板加載,並且是它可見?你可以使用spy ++(一個與visual studio一起發佈的工具)來查看對話框中實際創建的窗口,它們的位置以及設置的標誌和樣式。

0

您創建和附加電網後,你將通過示例來定義的行和列?

否則,是不會有什麼看。

你需要在MyCug()下面的代碼:: OnSetup:

void MyCug::OnSetup(){ 

    //*******Set the Rows and Columns 
    SetNumberCols(10); 
    SetNumberRows(10); 

} 

,從在7.2版本的教程的。我廣泛使用了UG,並且與VS2008沒有任何問題。但是我自己創建了所有的網格,我不使用對話框模板。

+0

是的,我就是這麼做的。 – Canacourse 2009-06-22 10:10:42

+0

好的,當您爲網格調用Create時,您是否將其標記爲可見? 這裏有更多的代碼,我的網格構造 MyCug :: MyCug(INT ID,CWnd的*父) { CreateGrid(WS_CHILD | WS_VISIBLE,wp.rcNormalPosition,父母,ID); } – 2009-06-22 12:42:21