CHelp HelpDlg; ///////非模式对话框
BOOL b_ScrtipHelpDlg=FALSE;
void Dialog4::Onhelp()
{
if(b_ScrtipHelpDlg==FALSE)
{ HWND hWnd = ::GetForegroundWindow();
HelpDlg.Create(IDD_DIALOG6,CWnd::FromHandle(hWnd));
HelpDlg.ShowWindow(SW_SHOW);
b_HelpDlg=TRUE;
}
else
{ HelpDlg.DestroyWindow();
b_HelpDlg=FALSE;}
}上面就是我的代码,可是显示出来后,按创建的非模式窗口右上关闭窗口后,窗口仍旧没有销毁,所以用了HelpDlg.DestroyWindow();这句,可是在下一次创建的时候就会出错。用new了在delete也一样,该如何正确销毁?
BOOL b_ScrtipHelpDlg=FALSE;
void Dialog4::Onhelp()
{
if(b_ScrtipHelpDlg==FALSE)
{ HWND hWnd = ::GetForegroundWindow();
HelpDlg.Create(IDD_DIALOG6,CWnd::FromHandle(hWnd));
HelpDlg.ShowWindow(SW_SHOW);
b_HelpDlg=TRUE;
}
else
{ HelpDlg.DestroyWindow();
b_HelpDlg=FALSE;}
}上面就是我的代码,可是显示出来后,按创建的非模式窗口右上关闭窗口后,窗口仍旧没有销毁,所以用了HelpDlg.DestroyWindow();这句,可是在下一次创建的时候就会出错。用new了在delete也一样,该如何正确销毁?
解决方案 »
- 谁能给我解释下 %s 和%ls的区别
- HOOK 问题
- list control 的內容拷貝問題
- 求助:ActiveX控件无法注册问题
- 怎样使用定时器回调函数的句柄?
- 想找一个可以查询程序使用的API及相关DLL的工具
- 链表赋值的问题,在线
- 哪位兄弟发个XP下屏幕取词的代码. 我只有WIN98,NT,2000下的,很好用.
- 使用ExitWindowsEx(),如何知道当前的Win2k系统是否支持Power off 功能
- 一个关于SCSI硬盘的问题
- 一个SQL报表查询问题,请帮忙
- 请教:用CPropertySheet、CPropertyPage做向导的时候,如何在某个属性页中中止整个向导?立即揭帖,谢谢!
BOOL b_ScrtipHelpDlg=FALSE;
void Dialog4::Onhelp()
{
if(b_ScrtipHelpDlg==FALSE)
{ HWND hWnd = ::GetForegroundWindow();
HelpDlg=new CHelp;
HelpDlg->Create(IDD_DIALOG6,CWnd::FromHandle(hWnd));
//HelpDlg.ShowWindow(SW_SHOW);最好在属性里面设置好把show选上
b_HelpDlg=TRUE;
}
else
{ HelpDlg->DestroyWindow();
delete HelpDlg;
HelpDlg=NULL;
b_HelpDlg=FALSE;}
}
我这样做是可以的