C++常用控件
C语言中的GUI应用开发

C语言中的GUI应用开发GUI(Graphical User Interface)是指图形用户界面,它通过使用图形和图标来与用户进行交互,使得用户更加直观地操作计算机。
在C语言中,我们也可以开发GUI应用程序,为用户提供更好的使用体验。
本文将介绍C语言中的GUI应用开发,并讨论一些常见的GUI库和开发工具。
一、GUI库的选择在C语言中,有许多GUI库可供选择,每个库都有其特点和适用场景。
以下是几个常用的GUI库:1. GTK+:GTK+是一种高度灵活的开源GUI库,可在Linux、Windows和Mac等平台上运行。
它提供了丰富的控件和功能,易于学习和使用。
2. Qt:Qt是一个跨平台的C++开发框架,具有强大的GUI开发能力。
尽管它主要用于C++开发,但也提供了C语言的接口。
3. WinAPI:WinAPI是Windows平台上的GUI库,用于开发Windows应用程序。
它提供了许多实用的函数和控件,但需要一定的Windows编程知识。
根据你的需求和开发平台,选择适合的GUI库进行开发。
二、GUI应用程序的基本结构在C语言中,开发GUI应用程序通常需要以下几个基本步骤:1. 引入所需的头文件:根据所选择的GUI库,引入相应的头文件,以便使用库中提供的函数和数据结构。
2. 创建窗口:通过调用库中的函数,创建一个窗口,用于展示应用程序的界面。
可以设置窗口的大小、标题等属性。
3. 添加控件:在窗口中添加所需的控件,如按钮、文本框、标签等。
使用库提供的函数,设置控件的位置、大小和其他属性。
4. 设置事件处理函数:对于用户与控件的交互,如点击按钮、输入文本等,需要为每个事件编写相应的处理函数,以便响应用户的操作。
5. 运行消息循环:调用库中的函数,启动应用程序的消息循环。
通过监听用户的输入和操作来触发不同的事件处理函数。
三、示例程序以GTK+为例,下面是一个简单的C语言GUI应用程序的示例:```c#include <gtk/gtk.h>// 点击按钮的事件处理函数void button_clicked(GtkButton *button, gpointer data){g_print("Hello, GUI!\n");}int main(int argc, char *argv[]){gtk_init(&argc, &argv);// 创建窗口GtkWidget *window =gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window), "GUI Application");gtk_container_set_border_width(GTK_CONTAINER(window), 10);g_signal_connect(window, "destroy",G_CALLBACK(gtk_main_quit), NULL);// 创建按钮GtkWidget *button = gtk_button_new_with_label("Click Me!");g_signal_connect(button, "clicked", G_CALLBACK(button_clicked), NULL);// 添加按钮到窗口gtk_container_add(GTK_CONTAINER(window), button);// 显示所有控件gtk_widget_show_all(window);// 运行消息循环gtk_main();return 0;}```在上述示例程序中,我们使用了GTK+库来创建一个简单的GUI应用程序。
FMC编程基础·常用控件

MFC编程基础————常用控件一、编辑框增加响应,在编辑框输入文字,点确定,有反应1.关联编辑框的成员变量2.添加按钮的响应函数(双击按钮)void CEx040105aDlg::OnOK(){CDialog::OnOK();CString strMess ;strMess.Format("你输入的数是%d\n",m_iIntvalue);AfxMessageBox(strMess);}二、数字滚选按钮在包含数字的变量控件旁边添加可以控制数字仅仅勾选即可,需勾选样式属性栏1、自动结伴(auto buddy)2、设置结伴整数(set buddy integer)三、按钮按键双击按钮,添加函数四、列表框1、增加一个ClistBox关联,变量名m_nameListBox2、在初始化函数中初始ListBox。
{……// TODO: Add extra initialization hereint nItem = m_nameListBox.AddString("张三");m_nameListBox.SetItemData(nItem,3);//3 is IDnItem = m_nameListBox.AddString("张三1");m_nameListBox.SetItemData(nItem,5);nItem = m_nameListBox.AddString("张三2");m_nameListBox.SetItemData(nItem,7);return TRUE;// return TRUE unless you set the focus to a control }3、为ListBox 增加LBN_SELCHANGE消息的响应函数:void CEx040105aDlg::OnSelchangeList1(){// TODO: Add your control notification handler code hereint nSel = m_nameListBox.GetCurSel();if(-1!= nSel){CString strName;m_nameListBox.GetText(nSel,strName);UINT uID = m_nameListBox.GetItemData(nSel);CString strMess;strMess.Format("你选了%s, ID是%u",strName, uID);AfxMessageBox(strMess);}}五、复选框和单选框1、单选框属性,勾选群组(group),关联第一个单选框如:m_iSel。
Csharp控件详解

Csharp控件详解C#控件一览表前所未有的震撼(太详细了)C#控件及常用设计整理1、窗体1、常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。
(2)WindowState属性:用来获取或设置窗体的窗口状态。
取值有三种:Normal(窗体正常显示)、Minimized(窗体以最小化形式显示)和Ma某imized(窗体以最大化形式显示)。
(3)StartPoition属性:用来获取或设置运行时窗体的起始位置。
(4)Te某t属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)Width属性:用来获取或设置窗体的宽度。
(6)Height属性:用来获取或设置窗体的高度。
(7)Left属性:用来获取或设置窗体的左边缘的某坐标(以像素为单位)。
(8)Top属性:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。
(9)ControlBo某属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。
值为true时将显示控制框,值为fale时不显示控制框。
(10)Ma某imizeBo某属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。
值为true时显示最大化按钮,值为fale时不显示最大化按钮。
(11)MinimizeBo某属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。
值为true时显示最小化按钮,值为fale时不显示最小化按钮。
(12)AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Enter键时就相当于单击了窗体上的该按钮。
(13)CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Ec键时就相当于单击了窗体上的该按钮。
(14)Modal属性:该属性用来设置窗体是否为有模式显示窗体。
如果有模式地显示该窗体,该属性值为true;否则为fale。
c 标准库 gui

c 标准库 guiC标准库GUI。
GUI,全称为图形用户界面(Graphical User Interface),是一种通过图形方式显示计算机操作界面的技术。
在C标准库中,也提供了一些相关的GUI库,可以帮助开发者实现图形化的用户界面。
本文将介绍C标准库中常用的GUI库,以及它们的基本用法和特点。
一、ncurses。
ncurses是C语言中用于控制终端显示的库,它可以帮助开发者在终端中实现简单的文本界面。
ncurses提供了一系列的函数,可以控制光标位置、颜色、文本格式等,从而实现基本的用户界面交互。
开发者可以使用ncurses创建菜单、窗口、按钮等控件,实现基本的文本界面交互。
使用ncurses编写GUI程序的基本步骤如下:1. 初始化ncurses环境,使用initscr函数初始化终端。
2. 创建需要的窗口和控件,使用函数如newwin、wprintw等。
3. 处理用户输入,使用函数如getch获取用户输入。
4. 刷新界面,使用函数如wrefresh刷新窗口显示。
ncurses库的优点是简单易用,适合在终端环境中实现基本的文本界面交互。
但是它的功能有限,无法实现复杂的图形界面,也无法支持鼠标交互。
二、GTK+。
GTK+是一种跨平台的图形用户界面工具包,它提供了丰富的控件和功能,可以帮助开发者实现复杂的图形界面。
GTK+使用C语言编写,提供了一系列的函数和对象,可以创建窗口、按钮、菜单等各种控件,实现丰富多彩的用户界面交互。
使用GTK+编写GUI程序的基本步骤如下:1. 初始化GTK+环境,使用函数gtk_init初始化GTK+库。
2. 创建主窗口和其他控件,使用函数gtk_window_new、gtk_button_new等。
3. 设置控件属性和信号处理函数,使用函数gtk_widget_set_property、g_signal_connect等。
4. 运行主循环,使用函数gtk_main运行GTK+的主循环。
C语言也能干大事

《C语言也能干大事》第一节板书:1、C语言不是只能开发黑底白字的控制台界面程序。
学习本课的基础:本课程不讲C语言基础知识,C语言考及格,学的过程中配合复习,有不懂的回去翻书。
2、学完本课程以后同学们做的一些作品赏析:计算器、俄罗斯方块、音乐播放器、学生管理系统(/forum/thread-2487-1-1.html),邮件客户端(/forum/thread-3697-1-1-uid7.html),Web论坛(/forum/thread-3991-1-1-uid7.html)可以开发游戏、网络程序、网站程序等。
C语言什么都可以开发3、准备工作,安装VC6(在网上搜“Visual C++ 6”,找合适的地址下载)。
VC6在Vista、Windows下启动可能有兼容性提示。
3、开始做第一个C语言的程序【文件】→【新建】,打开【工程】选项页,选择【Win32 Application】(不要选错了),在“位置”中修改工程保存的路径。
(以前用Tubor C的同学会问“什么叫工程?”。
在以前大家用TurboC写的程序一般也就是一个文件,但是用C语言写大程序的时候不可能把所有的代码都写在一个文件中,肯定要写很多文件。
“工程(Project)”就是这些文件的一个集合。
)在“工程名”中写入你为这个工程取的名字,最好有一定意义。
下一步【一个简单的Windows程序】4、向Windows的世界问好MessageBox(NULL,TEXT("世界你好"),TEXT("问好"),MB_OK);VC6在Vista、Windows下编译调试时可能有兼容性提示。
5、学本课程常见问题(1)为什么不用TurboC?Turbo C(Win-TC)太老了,界面还是DOS界面,库也是DOS的库,没有网络开发包、没有Windows界面开发包。
TC只能用来学C的基础,要进行实际开发必须使用先进一点的工具。
clistctrl复选框勾选时触发的方法

clistctrl复选框勾选时触发的方法【原创版3篇】篇1 目录1.CListCtrl 控件简介2.CListCtrl 复选框勾选时触发的方法3.示例代码解析篇1正文一、CListCtrl 控件简介CListCtrl(列表控件)是 MFC(Microsoft Foundation Class)库中的一个常用控件,主要用于在窗口中展示一系列的项目,并允许用户进行选择。
CListCtrl 控件提供了丰富的功能,例如项目排序、项目图标、复选框等。
在众多功能中,CListCtrl 复选框勾选时触发的方法是我们今天要讨论的重点。
二、CListCtrl 复选框勾选时触发的方法当用户在 CListCtrl 控件中勾选或取消勾选某个项目时,CListCtrl 会触发一系列的消息处理函数。
其中,最重要的两个函数是:1.ONLBUTTONDOWN:当用户按下鼠标按钮时,该函数被调用。
此时用户可能要开始拖动鼠标以进行项目选择。
2.ONLBUTTONUP:当用户松开鼠标按钮时,该函数被调用。
此时用户可能已经完成了项目选择,或者取消了选择。
在 ONLBUTTONDOWN 和 ONLBUTTONUP 函数中,我们可以处理复选框的勾选和取消勾选操作。
具体来说,我们可以通过检查当前鼠标位置和项目位置的关系,来判断用户是否成功地勾选或取消勾选了某个项目。
三、示例代码解析下面是一个简单的示例,演示了如何在 CListCtrl 控件中处理复选框勾选时触发的方法:```cpp#include <afx.h>class CMyListCtrl : public CListCtrl{public:CMyListCtrl() {}void OnLButtonDown(UINT nFlags, CPoint point){// 设置鼠标当前位置m_ptLastMouseDown = point;// 检查当前位置是否在某个项目内int nItem = GetItemFromPoint(point);if (nItem >= 0){// 设置当前项目为选中状态SetItemState(nItem, LVIS_SELECTED);}else{// 设置当前项目为未选中状态SetItemState(nItem, LVIS_UNSELECTED); }// 调用基类的 LButtonDown 函数CListCtrl::OnLButtonDown(nFlags, point); }void OnLButtonUp(UINT nFlags, CPoint point){// 检查当前位置是否在某个项目内int nItem = GetItemFromPoint(point);if (nItem >= 0){// 设置当前项目为选中状态SetItemState(nItem, LVIS_SELECTED); }else{// 设置当前项目为未选中状态SetItemState(nItem, LVIS_UNSELECTED); }// 调用基类的 LButtonUp 函数CListCtrl::OnLButtonUp(nFlags, point);}// 获取指定点所在的项目索引int GetItemFromPoint(CPoint point){// 计算当前鼠标位置到项目位置的距离int nItem = -1;int nItemCount = GetItemCount();for (int i = 0; i < nItemCount; ++i) {CRect rect;GetItemRect(i, rect);if (PtInRect(point, rect)){nItem = i;break;}}return nItem;}protected:CPoint m_ptLastMouseDown;};```通过这个示例,我们可以看到在 ONLBUTTONDOWN 和 ONLBUTTONUP 函数中,我们首先检查鼠标当前位置是否在某个项目内。
C_-TreeView控件使用方法

TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。
本文主要介绍C# treeView控件中,添加,修改、删除节点等c# treeview控件的使用方法。
其代码如下:1.private void Form1_Load(object sender, EventArgs e)2.{3. belEdit = true;//可编辑状态。
4.5.,这个结点是根节点。
6. TreeNode node = new TreeNode();7. node.Text = "hope";8. treeView1.Nodes.Add(node);9. TreeNode node1 = new TreeNode();10. node1.Text = "hopeone";11. TreeNode node11 = new TreeNode();12. node11.Text = "hopeoneone";13. TreeNode node2 = new TreeNode();14. node2.Text = "hopetwo";15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。
16. node.Nodes.Add(node1);//node下的两个子节点。
17. node.Nodes.Add(node2);18.19. TreeNode t = new TreeNode("basil");//作为根节点。
20. treeView1.Nodes.Add(t);21. TreeNode t1 = new TreeNode("basilone");22. t.Nodes.Add(t1);23. TreeNode t2 = new TreeNode("basiltwo");24. t.Nodes.Add(t2);25.26.27.}28.29.private void button1_Click(object sender, EventArgs e)30.{//点击该按钮的时候,会移除选中项31. treeView1.Nodes.Remove(treeView1.SelectedNode);32.}33.34.private void button2_Click(object sender, EventArgs e)35.{//点击这个按钮的时候,可以修改选中项36. treeView1.SelectedNode.BeginEdit();37.}注意:在使用这个属性的时候,必须设置belEdit = true,否则会提示错误。
算法与程序设计知识点汇总

算法与程序设计知识点汇总第一章计算机解决问题的基本过程一、开始分析问题设计算法编写程序调试、运行程序问题解决二、算法-----程序设计的“灵魂”1、定义:就是解决问题的方法和步骤2、特征:1、确定性:每一步都有确切的含义2、有穷性:执行的步骤和每一步执行的时间都是有限的3、输入:有零个或多个输入4、输出:至少产生一个输出5、可行性:原则上可精确运行3、算法的描述:1、自然语言 2、流程图(P11) 3、伪代码(p12)4、计算机语言三:程序设计语言的发展:机器语言:是能直接被计算机识别的语言,是一串由“0”“1”构成的二进制数汇编语言:符号化语言,比机器语言容易识别和记忆,用汇编语言编制的程序不能被计算机直接执行,必须经过转换处理。
高级语言:更接近于自然语言(英语)和数学语言的编程语言,容易掌握和使用,也不能直接识别,必须经过转换才能被计算机执行。
第二章一、visiual basic 可视化程序开发工具,主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木一样构造应用程序的各种界面,然后再编写少量的代码就可以构建应用程序,提供了程序设计,编辑,调试,运行于一体的集成开发环境。
二、VB6.0的集成开发环境三个工作栏:标题栏菜单栏工具栏六个基本窗口:主窗口(main) 窗体窗口(form) 工具箱窗口(toolbox)工程窗口(project) 属性窗口(properties) 窗体布局窗口(formlayout) 三、属性---用来描述对象的外部特征四、常用控件熟悉常用控件(标签、文本框、命令按钮)的作用,图标及其属性五、数据的表示与处理1、Vb数据类型Double 双精度实型8 Byte -1.797693134E308~4.940656458E3244.940656458E-324~1.797693134E308String 字符串型10 Byte+串长度0~约20亿个字符Boolean 布尔型 2 Byte True或FalseDate 日期型8 Byte 100/1/1~9999/12/312、常量与变量的说明:常量说明:Const a=3.14 const a as single=3.14变量说明: Dim a As integerDim b As integerDim a,b As integer3、运算符(1) 算术运算符(2)字符串运算符&、+ 字符串连接" 123 " + " 456 " 结果 " 123456 "" 123 " & " 456 " 结果 " 123456 "区别: + 两边必须是字符串, & 不一定例如:"abcdef" & 12345 ' 结果为 "abcdef12345 ""abcdef " + 12345 ' 出错"123" & 456 ' 结果为" 123456 "“123” + 456 ' 结果为 579注意:"123 " + True '结果为 122True转换为数值-1,False转换为数值0(3)关系运算符a、将两个操作数进行大小比较,结果为逻辑量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1.3 控件类和控件对象
【例Ex_Member】 使用控件变量 (1)创建一个默认的对话框应用程序Ex_Member。 (2)在打开的对话框资源模板中,删除“TODO: 在这里设置对话控制。”静 态文本控件,将“确定”和“取消” 按钮向对话框左边移动一段位置,然后将鼠 标移至对话框资源模板右下角的实心蓝色方块处,拖动鼠标,将对话框资源模板的 大小缩小一些。 (3)在对话框资源模板的左边添加一个编辑框控件和一个按钮控件,保留其 默认属性,并将其布局得整齐一些,如图5.7所示。
添加IDC_BUTTON1的BN_CLICKED消息映射函数OnButton1,并添加下列代码:
void CEx_MemberDlg::OnButton1()
{
CString strEdit;
// 定义一个字符串
CEdit *pEdit = (CEdit*)GetDlgItem( IDC_EDIT1);
5.1.1 控件的创建方式
(4)在项目工作区窗口的ClassView页面中,将CEx_CreateDlg节点展开,双击
OnInitDialog函数名,在该函数中添加下列代码(在return TRUE;语句之前添加):
BOOL CEx_CreateDlg::OnInitDialog()
{
CDialog::OnInitDialog();
MessageBox(_T("这是在OnCommand处理的结果!"));
return CDialog::OnCommand(wParam, lParam);
}
5.1.3 控件类和控件对象
表5.1列出了MFC封装的常用控件类。
控件名称 静态控件
按钮
编辑框 列表框 组合框 滚动条 进展条 滑动条 旋转按钮控件 日期时间控件 图像列表
(3)单击“OK”按钮,又回到MFC ClassWizard对话框的Member Variables页面 中,在Control IDs列表中出现刚才添加的编辑框控件变量m_strEdit。选择后,将在 MFC ClassWizard对话框下方出现Maximum Characters编辑框,从中可设定该变量允 许的最大字符个数,这就是控件变量的DDV设置。填入10,如图5.10所示,然后单 击“确定”按钮,退出MFC ClassWizard对话框。
UpdateData();
// 将控件的内容存放到变量中
// 没有参数,表示使用的是默认参数值TRUE
m_strEdit.TrimLeft();
m_strEdit.TrimRight();
if (m_strEdit.IsEmpty())
m_btnWnd.SetWindowText(_T("Button1"));
else
m_btnWnd.SetWindowText(m_strEdit);
}
(5)编译并运行。
5 . 2 静态控件和按钮
5.2.1 静态控件
பைடு நூலகம்
5.2.1 静态控件
【例Ex_Etched】 制作水平蚀刻线 (1)创建一个默认的对话框应用程序Ex_Etched。 (2)在打开的对话框资源模板中,删除“TODO: 在这里设置对话控制”。静 态文本控件,将 “确定”和“取消” 按钮向对话框左边移动一段位置,然后将 鼠标移至对话框资源模板右下角的实心蓝色方块处,拖动鼠标,将对话框资源模 板的大小缩小一些。 (3)在对话框资源模板中的靠左中间位置添加一个静态图片控件,右击该 控件,从弹出的快捷菜单中选择“属性”,弹出其属性对话框。 (4)将“类型”选择为默认的“框架(Frame)”类型,将“颜色”类型选 为“蚀刻(Etched)”,然后关闭属性对话框。此时,静态图片控件变成一个蚀 刻的矩形框。
下面的示例过程: (1)将项目工作区窗口切换到ResourseView页面,双击Dialog资源下的标识
符IDD_EX_CREATE_DIALOG,打开Ex_Create项目的对话框资源模板。 (2)选中“TODO: 在这里设置对话控制。”控件,按【Delete】键删除。从
控件工具箱中拖放添加一个按钮控件,如图5.4所示,保留其默认属性。
5.1.1 控件的创建方式
从快捷菜单中选择Add Member Variable(添加成员变量),出现如图5.2所示 的对话框,在变量类型(Variable Type)编辑框中输入CButton(MFC按钮类), 在变量名称(Variable Name)编辑框中输入要定义的CButton类对象名m_btnWnd。
5.1.4 DDX和DDV
(4)将项目工作区切换到ClassView页面,展开CEx_MemberDlg类节点,双击
OnButton1成员函数节点,定位到CEx_MemberDlg::OnButton1函数实现代码处,将
代码修改如下:
void CEx_MemberDlg::OnButton1()
{
5.1.2 控件的消息及消息映射
(3)按快捷键【Ctrl+W】,打开MFC ClassWizard对话框,查看“Class name”
列表中是否选择了CEx_CreateDlg,在Object IDs列表中选择IDC_BUTTON1。
(4)单击
按钮或双击BN_CLICKED消息,出现“Add Member
列表中是否选择了CEx_CreateDlg,在Object IDs列表中选择CEx_CreateDlg,在 Messages框中找到并双击OnCommand,这样OnCommand消息函数就添加好了,如 图5.6所示。
5.1.2 控件的消息及消息映射
(2)双击消息函数OnCommand或单击
按钮,MFC ClassWizard对
WORD nID
= LOWORD(wParam);
// 控件的ID
if ((nID == 201)&&(nCode == BN_CLICKED))
MessageBox(_T("你按下了\"你好\"按钮!"));
if ((nID == IDC_BUTTON1)&&(nCode == BN_CLICKED))
5.1.3 控件类和控件对象
(4)按快捷键【Ctrl+W】,打开MFC ClassWizard对话框,并切换到Member Variables页面,查看“Class name”列表中是否选择了CEx_MemberDlg,此时可以在 Control IDs列表中看到刚才添加的控件和编辑框的标识符IDC_BUTTON1和IDC_EDIT1。
pEdit->GetWindowText( strEdit );
// 获取编辑框中的内容
strEdit.TrimLeft();
strEdit.TrimRight();
if (strEdit.IsEmpty())
m_btnWnd.SetWindowText(_T("Button1"));
else
m_btnWnd.SetWindowText(strEdit);
Function”对话框,在这里可以输入成员函数的名称,系统默认的函数名为
OnButton1,如图5.5所示。
5.1.2 控件的消息及消息映射
(5)双击消息函数OnButton1或单击
按钮,MFC ClassWizard对
话框退出,并转向文档窗口,定位到CEx_CreateDlg::OnButton1函数实现的源代码
(5)在Control IDs列表中,选定按钮控件标识符IDC_BUTTON1,双击鼠标左键 或单击 按钮,弹出Add Member Variable对话框,如图5.8所示。
5.1.3 控件类和控件对象
(6)在Member variable name框中填好与控件相关联的成员变量m_btnWnd,
类似于一个笔记本的分隔器或一个文件柜上的标签,使用它可 以将一个窗口或对话框的相同区域定义为多个页面
5.1.3 控件类和控件对象
在MFC中,获取一个控件的类对象指针是通过CWnd类的成员函数GetDlgItem来 实现的,它具有下列原型:
CWnd* GetDlgItem( int nID ) const; void GetDlgItem( int nID, HWND* phWnd) const;
标签控件
MFC类 CStatic
CButton
CEdit CListBox CComboBox CScrollBar CProgressCtrl CSliderCtrl CSpinButtonCtrl CDateTimeCtrl CImageList
CTabCtrl
功能描述 用来显示一些几乎固定不变的文字或图形
用来产生某些命令或改变某些选项,包括单选按钮、复选框和 组合框
用于完成文本和数字的输入和编辑 显示一个列表,让用户从中选取一个或多个项 是一个列表框和编辑框组合的控件 通过滚动块在滚动条上的移动和滚动按钮来改变某些量 用来表示一个操作的进度 通过滑动块的移动来改变某些量,并带有刻度指示 带有一对反向箭头的按钮,单击这对按钮可增大或减小某个值 用于选择指定的日期和时间 一个具有相同大小的图标或位图的集合
//…
m_btnWnd.Create("你好", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | WS_TABSTOP,
CRect(20, 20, 120, 40), this, 201);
// 创建
CFont *font = this->GetFont();
// 获取对话框的字体
m_btnWnd.SetFont(font);
// 设置控件字体
return TRUE; // return TRUE unless you set the focus to a control