我正在尝试在对话框中使用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& ;排序=位置&安培;图=快速和安培;选择= 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);

}
有帮助吗?

解决方案

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

其他提示

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

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

否则,没有什么可看的。

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

void MyCug::OnSetup(){ 

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

} 

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top