终极网格看不见

时间:2009-06-22 09:35:50

标签: visual-studio mfc grid

我正在尝试在对话框中使用Code Project中的终极网格,但网格是不可见的。

m_Plist.AttachGrid(this,IDC_CREDENTIALS)返回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和我。

...谢谢

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

    MyCug m_PList;

m_Plist.AttachGrid(this, IDC_CREDENTIALS);

}

3 个答案:

答案 0 :(得分:3)

我自己没有使用过Ultimate Grid。但是,查看您发布的代码,我可以看到可能存在问题:您在堆栈上声明了一个“MyCug”实例,然后附加它,但是一旦基于堆栈的实例将被销毁OnInitDialog()方法存在。您必须做的是声明“MyCug m_PList;”作为对话框类的成员,以便网格对象的生命周期与对话框的生命周期相同。

答案 1 :(得分:0)

我不知道为什么你的网格没有显示,要找的东西是从对话框模板正确加载,它是否可见?您可以使用spy ++(与visual studio一起分发的工具)来查看在对话框中实际创建的窗口,它们的位置以及设置的标志和样式。

答案 2 :(得分:0)

创建并附加网格后,是否按示例的定义添加行和列?

否则,没有什么可看的。

您需要MyCug :: OnSetup()中的以下代码:

void MyCug::OnSetup(){ 

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

} 

这是来自7.2版本的教程。我广泛使用UG,VS2008也没有问题。但是我自己创建了所有网格,我没有使用对话框模板。