当前位置:编程学习 > C/C++ >>

在对话框中进行消息映射

 

利用对话框的一个好处是可以利用ClassWizard对对话框中各个控件产生的消息进行映射,ClassWizrd可以列出各种控件可以使用的消息,并能自动产生代码。在本节中我们以一个例子来讲解如何在对话框中对子窗口消息进行映射同时还讲解如何对对话框中的子窗口进行初始化。

首先我们产生编辑好一个对话框,如图,

在对话框中使用的控件和ID号如下表:

ID

类型

IDC_RADIO_TEST_1

圆形按钮

IDC_RADIO_TEST_2

圆形按钮

IDC_BUTTON_TEST

按钮

IDC_CHECK_TEST

检查按钮

IDC_TREE_TEST

树形控件

IDC_LIST_CTRL

List Ctrl

IDC_TAB_CTRL

Tab Ctrl

IDC_LIST_TEST

列表框

IDC_COMBO_TEST

组合框

IDC_EDIT_TEST

输入框

首先我们需要在对话框的OnInitDialog()函数中对各个控件进行初始化,这里我们使用CWnd* GetDlgItem( int nID )来通过ID号得到子窗口指针。(类似的函数还有UINT GetDlgItemInt( int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE ) 通过ID号得到子窗口中输入的数字,int GetDlgItemText( int nID, CString& rString ) 通过ID号得到子窗口中输入的文字)。代码如下:

BOOL CMy54_s1Dlg::OnInitDialog()
{
         CDialog::OnInitDialog();
         /*添加初始化代码*/
         //初始化输入框
         ((CEdit*)GetDlgItem(IDC_EDIT_TEST))->SetWindowText("this is a edit box");
补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,