MFC对话框,按钮的模态非模态问题

非模态和模态的区别就是模态在运行时候不能操作其他东西。比如你操作一个模态对话框,只有操作完之后才能操作其他的。创建有3种方法

方法1:首先在资源里新建一个对话框,双击它,系统提示你为他创建一个类CMyDlgOK,创建了之后,一个模态对话框就OK了。

调用也很简单,

CmyDlg dlg;

Dlg.DoModal();

方法2:首先在资源里新建一个对话框,ID号改为IDD_SETTING,双击它,系统提示你为他创建一个类CMyDlg,注意创建之后还必须重载他的函数,调用

CmyDlg setdlg=new CmyDlg (this);

       if (setdlg)

       {

           setdlg->Create(IDD_SETTING,this);

           setdlg->ShowWindow(SW_SHOW);

    }

// 特别注意必须为我们建立的对话框资源的ID:IDD_SETTING

    方法3:首先在资源视图中新建一个MYBTNTEST 30000,然后直接在CVIEW程序中

 Cbutton mybtn

mybtn.Create(_T("Mybutton"),_style,recv(0,0,100,100),this,MYBTNTEST);

这就在recv的区域创建了一个名字叫My button的,资源ID号为MYBTNTEST的按钮。

ShowWindow(SW_SHOW);显示隐藏用它

 

    方法4: 从Cbutton继承一个类,重载他的Create 和 DrawItem 函数,然后其他和步骤3相同。

 

注意:以上程序都在CVIEW中,动态创建时候要输入一个ID号,以后根据这个ID号就在CVIEW可以建立他的消息响应函数了。那么按下这个动态按钮,就会进入消息响应函数。

 

posted @ 2009-09-27 21:40  熊健  阅读(1026)  评论(0编辑  收藏  举报