VC++对话框(控件)

时间:2022-05-05 23:42:00

在MFC中,所有的控件类都是由CWnd类派生来的,因此,控件实际上也是窗口,实际上,控件通常是作为对话框的子窗口而创建的。

另外,控件也可以出现在视类窗口、工具栏和状态栏中,控件是独立的小部件

对话框类型:

模态(Modal):指当其显示时,程序会暂定执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务

非模态(Modeless):当非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框


//对话框构造函数 两个参数,一个是其IDD成员,IDD为对话框资源,一个是父窗口指针

CFileTransDlg::CFileTransDlg(CWnd* pParent /*=NULL*/)
: CDialog(CFileTransDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}


//完成对话框数据的交换

void CFileTransDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}

//定义一个对话框对象,并产生一个模态对话框

CFileTransDlg dlg;
m_pMainWnd = &dlg;


当利用Create函数创建非模态对话框时,还需要调用ShowWindow函数将这个对话框显示出来,因为DoModal函数本身就有显示模态对话框的作用,所以模态对话框不用再调用ShowWindow函数来显示对话框


获取控件或窗口对象:

GetDlgIem

CWnd *GetDlgIem(int nID) const;

这个函数一个在对话框中使用


为了使一个静态文本控件能够响应鼠标单击消息,那么需要进行两个特殊的步骤,1,、改变他的ID,2、在他的属性对话框中选中Notify选项。