MFC对话框,按钮的模态非模态问题
非模态和模态的区别就是模态在运行时候不能操作其他东西。比如你操作一个模态对话框,只有操作完之后才能操作其他的。创建有3种方法
方法1:首先在资源里新建一个对话框,双击它,系统提示你为他创建一个类CMyDlg,OK,创建了之后,一个模态对话框就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可以建立他的消息响应函数了。那么按下这个动态按钮,就会进入消息响应函数。