从编辑框派生了一个类,在单击编辑框是弹出个对话框,小弟我做的弹出来的是个非模态对话框,有关问题是会重复弹出好多个,小弟我不知道该如何做了,有哪位高手可以帮帮忙

从编辑框派生了一个类,在单击编辑框是弹出个对话框,我做的弹出来的是个非模态对话框,问题是会重复弹出好多个,我不知道该怎么做了,有谁可以帮帮忙?
从编辑框派生了一个类,在单击编辑框是弹出个对话框,我做的弹出来的是个非模态对话框,问题是会重复弹出好多个,我不知道该怎么做了,有谁可以帮帮忙?

------解决方案--------------------
你可以将弹出的对话框作为编辑框类的一个成员变量,在每次点击编辑框时判断此对话框是否已将弹出,若没弹出则弹出,若已经弹出则返回...
------解决方案--------------------
if ( 对话框的指针==null){ 创建 }

------解决方案--------------------
m_keydlg=NULL
要进行初始化!
------解决方案--------------------
把m_keydlg做成静态
static CKeysDlg ms_keydlg;

记得在 .cpp中初始化时要清零
CKeysDlg CMyEditCtrl::ms_keydlg = NULL;

如果ms_keydlg == NULL,就创建一个
如果ms_keydlg不处于显示状态,把它显示出来

这样就可实现所有CKeysDlg最多只显示一个对话框了
------解决方案--------------------
用new初始化你的指针,2楼为标准答案。
quote=引用:]
引用:if ( 对话框的指针==null){ 创建 }
CKeysDlg* m_keydlg;
void CMyEditCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
        CRect rect;
GetClientRect(&rect);
     
……

引用:
引用:if ( 对话框的指针==null){ 创建 }
CKeysDlg* m_keydlg;
void CMyEditCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
        CRect rect;
GetClientRect(&rect);
     
……