Windows 控件 Windows 操作系统内置一些界面元素.象 Button,List,ComboBox,Edit,Label,Menu 等. 这一些界面元素在 MFC 的类库里都用对应类来描述,程序通过这一些类来操作界面. 从类库结构来看,这一些类都从 CWnd 类继承下来.这个类也是 CDialog 的基类. 因此这一些控件除了自已独特界面类型以外,都一些共性. 在 Windows 上,一个控件要用数字来表示,通过对这个数字就可以操作控件.在MFC里这个数字一般是在资源编辑器里定义成宏,这样在程序里更加容易阅读和理解 所有资源编号定义在 res\resource.h 在.rc 里使用是宏定义如,如 IDC_BUTTON1 在一个 CDialog 里可以调用 GetDlgItem 来找出控件的指针,这样用于操作 CWnd* GetDlgItem( int nID ) 最 常 见 的 操作就 是 读 取 控 件 的 上 文 本 的 值CWnd::GetWindowText(),CWnd::SetWindowText(); 不同控件读取文本有不同含意,如 Label 的读文本相当于读标签文本,Edit 读文本相当于编辑框里的值.ComboBox,ListBox相当于读取用户当前选中的文本. 例,改变一个标签的提示 this->GetDlgItem(IDC_LABLE1)->SetWindowText(_T(“hello”)); 读取一个编辑框的文本值 CString tmp = GetDlgItem(IDC_EDIT1)->GetWindowText(); 这种方法实例上是Windows 的方法,而不是C++面向对象的方法 控件对象的创建 在MFC中,控件对象的创建方法有两种 静态创建,对话框模板上把控件画好.这样当 CDialog 创建对话框时,自动把控件创建好. 这里一种比较简单和常用的创建方法 动态创建,即在运行时动态创建.这样可以更加灵活的设计界面,但是代码相对复杂 调用 BOOL CWnd::Create()或者是派生类同名方法. 注意把 Create 和类构造函数区别开来,类构造只是创建对象本身,通知Windows 把控件画出来是 Create 执行的 无论动态,静态对控件影响最大的参数是 DWORD dwStyle ,用于描述界面风格. 模板中在属性窗里直接增写 Create 时作为参数传入 CButton 按钮窗口(控件)在MFC 中使用CBu tton 表示,CBu tton 包含了三种样式的按钮,Pu sh Bu tton,Check Box ,Radio Box 。所以在利用CBu tton 对象生成按钮窗口时需要指明按钮的风格。 CButton 常用style 常见几个宏定义有 ...