我做了一个无模对话框,对话框中放了一个MSFlexGrid。程序中好几个地方会调用它,每次调用后把它关闭掉,下次调用时不会有问题;但是假如调用后不关闭,下次调用时就有问题了,我跟踪了一下,发现是我在对话框中定义的一个CMSFlexGrid变量在读写时出现冲突,有两个问题须请教:
1.如何清空网格的所有行?(不是清内容,而是删除网格)
2.如何解决在无模对话框存在的情况下第二次调用?我每次调用时加了判断语句
if (dlg->GetSafeHwnd==0) 
    dlg->Create;
dlg->ShowWindow(SW_NORMAL);
这些都不错,只是在后面调用CMSFlexGrid变量时出错。

解决方案 »

  1.   

    if (dlg->GetSafeHwnd==0) if(IsWindows(dlg->GetSafeHwnd()))
      

  2.   

    1、SetRows(0)删掉所有行,我使用的SetRows(1)留下最上面一行
    2、先DestroryWindow看行不行,这一点我没遇到过,不知道对不对,你试一试
      

  3.   

    我现在在判断语句前加了一条语句
    if (dlg->GetSafeHwnd!=0) dlg->DestroyWindow();虽然是解决了问题,但觉得好笨;假如需要保留网格中原有的内容,怎么办呢?