我正在尝试在对话框中使用Code Project中的终极网格,但网格是不可见的。
m_Plist.AttachGrid(this,IDC_CREDENTIALS)返回true,但是应该显示网格的静态文本占位符不能显示,并且网格永远不会显示。
我已经使用VS2008 SP1安装了最新的更新版UltimateGrid72_Src_Update03.zip和我。
...谢谢
BOOL CCredentials::OnInitDialog()
{
CDialog::OnInitDialog();
MyCug m_PList;
m_Plist.AttachGrid(this, IDC_CREDENTIALS);
}
答案 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也没有问题。但是我自己创建了所有网格,我没有使用对话框模板。