按钮控件与列表框控件.pptx

上传人:莉*** 文档编号:88350521 上传时间:2023-04-25 格式:PPTX 页数:38 大小:365.24KB
返回 下载 相关 举报
按钮控件与列表框控件.pptx_第1页
第1页 / 共38页
按钮控件与列表框控件.pptx_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《按钮控件与列表框控件.pptx》由会员分享,可在线阅读,更多相关《按钮控件与列表框控件.pptx(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第2页/共38页第1页/共38页第3页/共38页第2页/共38页MFC调用方法调用方法DrawItem()自动在一个按钮的用户区上画上位自动在一个按钮的用户区上画上位图,即用户可以自定义按钮。图,即用户可以自定义按钮。有时必须调整位图的尺寸大小,可以通过有时必须调整位图的尺寸大小,可以通过SizeToContent()方法进行调整方法进行调整将对话框按钮将对话框按钮CBitmapButton()对象联系起来对象联系起来CBitmapButton类定义的两个初始类定义的两个初始化方法以增强按钮化方法以增强按钮的功能的功能LoadBitmaps()AutoLoad()为为CBitmapButton

2、对象对象附上位图,最多可有附上位图,最多可有4个个位图,这些位图从用于位图,这些位图从用于程序的资源文件中读取程序的资源文件中读取第4页/共38页第3页/共38页列表框类的结构和方法列表框类的结构和方法MFC中中CListBox类的层次结构类的层次结构 列表框经常用在对话框里,如用列表框选择文件名、目录列表框经常用在对话框里,如用列表框选择文件名、目录等。列表框有一个预定义的键盘接口,用户可以用键盘上的箭等。列表框有一个预定义的键盘接口,用户可以用键盘上的箭头和头和PageUp或或PageDown键在列表框中进行数据的选择,或键在列表框中进行数据的选择,或通过适当的样式设置,允许与通过适当的样

3、式设置,允许与Shift或或Ctrl键组合使用。键组合使用。列表框常应用于从众多数据中选某一项列表框常应用于从众多数据中选某一项第5页/共38页第4页/共38页第6页/共38页第5页/共38页消息映像项使用下面的基本格式:ON_Message(Control ID,ClassMethod)所有者类声明中的方法原型afx_msg void ClassMethod();();发送消息的列表框控件的子窗口标识处理消息的父类方法的名字第7页/共38页第6页/共38页(1)通用方法通用方法 通用方法用来获得和设置列表框数据的值和属性,所有的通用方法用来获得和设置列表框数据的值和属性,所有的CListBo

4、x列表框都有这些方法,包括单选列表框、多选列表列表框都有这些方法,包括单选列表框、多选列表框和自绘列表框等。框和自绘列表框等。第8页/共38页第7页/共38页(2)单项选择特定方法单项选择特定方法列表框的默认模式是单选项模式;所有的通用方法均适用列表框的默认模式是单选项模式;所有的通用方法均适用于单选项列表框。于单选项列表框。只有只有两个类方两个类方法专门处理单法专门处理单选项列表框选项列表框GetCurSel()GetCurSel()SetCurSel()SetCurSel()获得当前选择列表获得当前选择列表框项的下标框项的下标(基于基于0)选择列表框字符串选择列表框字符串第9页/共38页第

5、8页/共38页 方法方法 说明说明 GetAnchorIndex()获得多项选择列表框中当前定位项的下标获得多项选择列表框中当前定位项的下标GetCaretIndex()获得多项选择列表框中具有光标矩形的项的下标获得多项选择列表框中具有光标矩形的项的下标GetSelCount()获得多项选择列表框中当前所选的项的数目获得多项选择列表框中当前所选的项的数目GetSelItems()将所有当前被选列表框项下标放入一整型数组缓冲区将所有当前被选列表框项下标放入一整型数组缓冲区SelItemRange()切换多选择列表框项范围的选择状态切换多选择列表框项范围的选择状态SetAnchorIndex()在

6、多项选择列表框中扩充选择设置开始在多项选择列表框中扩充选择设置开始(定位定位)项项SetCaretIndex()在多项选择列表框中指定下标项设置光标矩形在多项选择列表框中指定下标项设置光标矩形SetSel()在多项选择列表框中切换项目的选择状态在多项选择列表框中切换项目的选择状态(3)多项选择特定方法多项选择特定方法多选项列表框扩展了标准单项选择列表框的能力,可以解决在一个列表框中选择多项带来的复杂性特定多项选择列表框的CListBoxCListBox类方法第10页/共38页第9页/共38页(4)字符串指定的方法字符串指定的方法 方法方法 说明说明 AddString()在列表框中加入一个字符

7、串在列表框中加入一个字符串DeleteString()从列表框中删除一个字符串从列表框中删除一个字符串Dir()从当前目录加文件名放入列表框从当前目录加文件名放入列表框FindString()在列表框中搜索一字符串在列表框中搜索一字符串FindStringExact()在列表框中搜索第一个与指定搜索字符串匹配的字符串在列表框中搜索第一个与指定搜索字符串匹配的字符串InsertString()在列表框指定下标处插入一字符串在列表框指定下标处插入一字符串ResetContent()清除列表框中的所有项清除列表框中的所有项SelectString()在单选列表框中搜索并选择一字符串在单选列表框中搜索

8、并选择一字符串CListBox指定列表框中字符串的方法第11页/共38页第10页/共38页(5)虚拟方法虚拟方法CLstBox类还声明了几个虚拟方法,你可以从类还声明了几个虚拟方法,你可以从CListBox类类中派生一些类替换到你的类中。中派生一些类替换到你的类中。方法方法 说明说明 CharToItem()CharToItem()可以替换此方法来为自绘列表框(没有字符串)处理可以替换此方法来为自绘列表框(没有字符串)处理WM-CHARWM-CHARCompareItem()CompareItem()由由MFCMFC调用以得到排序的自绘列表框中的新项的位置调用以得到排序的自绘列表框中的新项的位

9、置DeleteItem()DeleteItem()当用户从自绘列表框中删除一项时当用户从自绘列表框中删除一项时MFCMFC调用此方法调用此方法DrawItem()DrawItem()当确定自绘列表框项必须重绘时当确定自绘列表框项必须重绘时MFCMFC调用此方法调用此方法MeasureItem()MeasureItem()当一自绘列表框被创建时当一自绘列表框被创建时MFCMFC调用此方法来决定列表框的维数调用此方法来决定列表框的维数VKeyToItem()VKeyToItem()用户可替换此方法,来处理具有用户可替换此方法,来处理具有LBS_WANTKEYBOARDINPUTLBS_WANTKE

10、YBOARDINPUT样式样式 的列表框的的列表框的WM_KEYDOWNWM_KEYDOWN能被替换的CListBoxCListBox类的虚拟方法第12页/共38页第11页/共38页创建和初始化创建和初始化CListBox对象对象(1)用用C+关键字关键字new和构造函数和构造函数CListBox:CListBox()CListBox:CListBox()为为CListBoxCListBox对象分配一个实例。对象分配一个实例。例如,下面代码分配一个例如,下面代码分配一个CListBox对象并返回指向该对象的指针:对象并返回指向该对象的指针:ClistBox*pMyListBox=new CLi

11、stBoxClistBox*pMyListBox=new CListBox;指针指针pMyListBoxpMyListBox用用CListBox:Create()CListBox:Create()方法进行初始化。方法进行初始化。该方法声明如下:该方法声明如下:BOOL Create BOOL Create (DWORD dwStyleDWORD dwStyle,/dwStyle/dwStyle是列表框控件的窗口样式是列表框控件的窗口样式 const Recy&rectconst Recy&rect,/rect/rect是一个矩形,它指明控件的大小和位置是一个矩形,它指明控件的大小和位置 CWn

12、d*pParentWndCWnd*pParentWnd,/pParentWnd/pParentWnd是指向控件所有者的指针是指向控件所有者的指针 UINT nIDUINT nID /nID /nID是父窗口用来与列表框通信的控件标识是父窗口用来与列表框通信的控件标识 );(2)初始化初始化CListBoxCListBox对象并赋与它一个对象并赋与它一个Windows列表框,列表框,通过方法通过方法CListBox:Create()CListBox:Create()设置列表框的参数和样式。设置列表框的参数和样式。第13页/共38页第12页/共38页14.2 按钮类及列表框类编程实例第14页/共3

13、8页第13页/共38页1.应用程序的界面设计应用程序的界面设计单选按钮组单选按钮组的的IDID都为都为IDC_STATICIDC_STATIC,说明,说明不同的控件不同的控件可以有可以有相同相同的的IDID。因为单选按钮组只是用来显。因为单选按钮组只是用来显示一组内容的属性示一组内容的属性,无具体操作无具体操作#define IDC_Age1_RADIO 1015#define IDC_Age1_RADIO 1015#define IDC_Age2_RADIO 1016#define IDC_Age2_RADIO 1016#define IDC_Age3_RADIO 1017#define I

14、DC_Age3_RADIO 1017#define IDC_Boy_RADIO 1023#define IDC_Boy_RADIO 1023#define IDC_Girl_RADIO 1024#define IDC_Girl_RADIO 1024同一组单选按钮必须一个接一个地放进对话框中中间不能中断对于对于成组成组的单选按钮,的单选按钮,只在每组的第一个按钮只在每组的第一个按钮的属性窗口中选中的属性窗口中选中Group第15页/共38页第14页/共38页2.应用程序的代码编程部分应用程序的代码编程部分第16页/共38页第15页/共38页 方法的实现方法的实现第17页/共38页第16页/共38

15、页为复选框为复选框IDC_TIME_CHECK添加代码添加代码void CSELECTBOXDlg:OnTimeCheck()void CSELECTBOXDlg:OnTimeCheck()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码 UpdateData(TRUE);UpdateData(TRUE);if(m_TimeCheck=TRUE)if(m_TimeCheck=TRUE)CTime tNow;CTime tNow;tNow=CTime:GetCurrentTime();tNow=CTime:GetCurrentTime();CString sNow=tNow.Format(

16、%I:%M:%S);CString sNow=tNow.Format(%I:%M:%S);m_TimeEdit.SetSel(0,-1);m_TimeEdit.SetSel(0,-1);m_TimeEdit.ReplaceSel(sNow);m_TimeEdit.ReplaceSel(sNow);else else m_TimeEdit.SetSel(0,-1);m_TimeEdit.SetSel(0,-1);m_TimeEdit.ReplaceSel();m_TimeEdit.ReplaceSel();UpdateData(FALSE);UpdateData(FALSE);其中函数其中函数F

17、ormat的参数的参数%I是时间的小时表示法(是时间的小时表示法(01到到12),),%m是分的是分的表示法(表示法(00到到59),),%S是秒的表示法(是秒的表示法(00到到59)第18页/共38页第17页/共38页给给Enable按钮添加代码按钮添加代码OnEnableButton()方法的实现代码如下:方法的实现代码如下:void CSELECTBOXDlg:OnEnableButton()void CSELECTBOXDlg:OnEnableButton()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码/添加代码开始添加代码开始GetDlgItem(IDC_DATE_CHEC

18、K)-EnableWindow(TRUE);GetDlgItem(IDC_DATE_CHECK)-EnableWindow(TRUE);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(TRUE);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(TRUE);m_DateEdit.EnableWindow(TRUE);m_DateEdit.EnableWindow(TRUE);m_TimeEdit.EnableWindow(TRUE);m_TimeEdit.EnableWindow(TRUE);/添加代码结束添加代码结束 第19页/共

19、38页第18页/共38页为为Disable按钮连接代码按钮连接代码 OnDisableButton()方法的实现代码如下:()方法的实现代码如下:void CSELECTBOXDlg:OnDisableButton()void CSELECTBOXDlg:OnDisableButton()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码/添加代码开始添加代码开始GetDlgItem(IDC_DATE_CHECK)-EnableWindow(FALSE);GetDlgItem(IDC_DATE_CHECK)-EnableWindow(FALSE);GetDlgItem(IDC_TIME_C

20、HECK)-EnableWindow(FALSE);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(FALSE);m_DateEdit.EnableWindow(FALSE);m_DateEdit.EnableWindow(FALSE);m_TimeEdit.EnableWindow(FALSE);m_TimeEdit.EnableWindow(FALSE);/添加代码结束添加代码结束 第20页/共38页第19页/共38页为为Show Again按钮添加代码按钮添加代码在函数在函数OnShowButton()方法中添加实现代码如下:方法中添加实现代码如下:voi

21、d CSELECTBOXDlg:OnShowButton()void CSELECTBOXDlg:OnShowButton()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码/添加代码开始添加代码开始GetDlgItem(IDC_DATE_CHECK)-EnableWindow(SW_SHOW);GetDlgItem(IDC_DATE_CHECK)-EnableWindow(SW_SHOW);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(SW_SHOW);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(SW_SHOW);G

22、etDlgItem(IDC_DATE_EDIT)-EnableWindow(SW_SHOW);GetDlgItem(IDC_DATE_EDIT)-EnableWindow(SW_SHOW);m_DateEdit.ShowWindow(SW_SHOW);m_DateEdit.ShowWindow(SW_SHOW);GetDlgItem(IDC_TIME_EDIT)-EnableWindow(SW_SHOW);GetDlgItem(IDC_TIME_EDIT)-EnableWindow(SW_SHOW);m_TimeEdit.ShowWindow(SW_SHOW);m_TimeEdit.ShowW

23、indow(SW_SHOW);/添加代码结束添加代码结束 第21页/共38页第20页/共38页为为Hide the Clock Setting按钮添加实现代码按钮添加实现代码函数函数OnHideButton()方法中输入以下实现代码:方法中输入以下实现代码:void CSELECTBOXDlg:OnHideButton()void CSELECTBOXDlg:OnHideButton()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码/添加代码开始添加代码开始GetDlgItem(IDC_DATE_CHECK)-EnableWindow(SW_HIDE);GetDlgItem(IDC_D

24、ATE_CHECK)-EnableWindow(SW_HIDE);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(SW_HIDE);GetDlgItem(IDC_TIME_CHECK)-EnableWindow(SW_HIDE);m_DateEdit.ShowWindow(SW_HIDE);m_DateEdit.ShowWindow(SW_HIDE);m_TimeEdit.ShowWindow(SW_HIDE);m_TimeEdit.ShowWindow(SW_HIDE);/添加代码结束添加代码结束 函数函数ShowWindow()是基类是基类CWnd的成员函数

25、,它表示是否显示的成员函数,它表示是否显示对象窗口,参数对象窗口,参数SW_SHOW表示显示,表示显示,SW_HIDE表示隐藏。表示隐藏。第22页/共38页第21页/共38页给给Show_the_Sex_and_Age按钮添加代码按钮添加代码OnShowSexAgeButton()方法的实现代码如下:方法的实现代码如下:void CSELECTBOXDlg:OnShowSexAgeBUTTON()void CSELECTBOXDlg:OnShowSexAgeBUTTON()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码 char sEdit50;char sEdit50;int iSe

26、xRADIO;int iSexRADIO;int iAgeRADIO;int iAgeRADIO;iSexRADIO=GetCheckedRadioButton(IDC_Boy_RADIO,IDC_Girl_RADIO);iSexRADIO=GetCheckedRadioButton(IDC_Boy_RADIO,IDC_Girl_RADIO);if(iSexRADIO=IDC_Boy_RADIO)strcpy(sEdit,The boy if(iSexRADIO=IDC_Boy_RADIO)strcpy(sEdit,The boys age is);s age is);if(iSexRADIO

27、=IDC_Girl_RADIO)strcpy(sEdit,The girl if(iSexRADIO=IDC_Girl_RADIO)strcpy(sEdit,The girls age is);s age is);iAgeRADIO=GetCheckedRadioButton(IDC_Age1_RADIO,IDC_Age3_RADIO);iAgeRADIO=GetCheckedRadioButton(IDC_Age1_RADIO,IDC_Age3_RADIO);if(iAgeRADIO=IDC_Age1_RADIO)strcat(sEdit,great than 20);if(iAgeRADI

28、O=IDC_Age1_RADIO)strcat(sEdit,great than 20);if(iAgeRADIO=IDC_Age2_RADIO)strcat(sEdit,between 15 and 20);if(iAgeRADIO=IDC_Age2_RADIO)strcat(sEdit,between 15 and 20);if(iAgeRADIO=IDC_Age3_RADIO)strcat(sEdit,less than 15);if(iAgeRADIO=IDC_Age3_RADIO)strcat(sEdit,less than 15);m_ResultEdit.SetSel(0,-1)

29、;m_ResultEdit.SetSel(0,-1);m_ResultEdit.ReplaceSel(sEdit);m_ResultEdit.ReplaceSel(sEdit);第23页/共38页第22页/共38页为为Show_Combo按钮添加代码按钮添加代码OnShowComboButton()方法的实现的代码如下:方法的实现的代码如下:void CSELECTBOXDlg:OnShowComboButton()void CSELECTBOXDlg:OnShowComboButton()UpdateData(TRUE);UpdateData(TRUE);char sCourseEdit30

30、;char sCourseEdit30;char sRecordEdit15;char sRecordEdit15;int iCourseRadio;int iCourseRadio;iCourseRadio=GetCheckedRadioButton iCourseRadio=GetCheckedRadioButton(IDC_ENGLISH_RADIO,IDC_NATURE_RADIO);(IDC_ENGLISH_RADIO,IDC_NATURE_RADIO);if(iCourseRadio=IDC_ENGLISH_RADIO)if(iCourseRadio=IDC_ENGLISH_RAD

31、IO)strcpy(sCourseEdit,English record is);strcpy(sCourseEdit,English record is);if(iCourseRadio=IDC_COMPUTER_RADIO)if(iCourseRadio=IDC_COMPUTER_RADIO)strcpy(sCourseEdit,Computer record is);strcpy(sCourseEdit,Computer record is);if(iCourseRadio=IDC_NATURE_RADIO)if(iCourseRadio=IDC_NATURE_RADIO)strcpy(

32、sCourseEdit,Natural record is);strcpy(sCourseEdit,Natural record is);m_Record.GetWindowText(sRecordEdit,15);m_Record.GetWindowText(sRecordEdit,15);strcat(sCourseEdit,);strcat(sCourseEdit,);strcat(sCourseEdit,sRecordEdit);strcat(sCourseEdit,sRecordEdit);m_ComboEdit=_T(sCourseEdit);m_ComboEdit=_T(sCou

33、rseEdit);UpdateData(FALSE);UpdateData(FALSE);第24页/共38页第23页/共38页给给OnExitButton()方法添加代码方法添加代码OnExitButton()的实现代码如下:的实现代码如下:void CSELECTBOXDlg:OnExitButton()void CSELECTBOXDlg:OnExitButton()/在此处加入控件通知句柄代码在此处加入控件通知句柄代码/添加代码开始添加代码开始OnOK();OnOK();/添加代码结束添加代码结束 第25页/共38页第24页/共38页初始化单选按钮初始化单选按钮BOOL CSELECTB

34、OXDlg:OnInitDialog()BOOL CSELECTBOXDlg:OnInitDialog()CDialog:OnInitDialog();CDialog:OnInitDialog();/IDM_ABOUTBOX must be in the system command range./IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX&0 xFFF0)=IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX&0 xFFF0)=IDM_ABOUTBOX);ASSERT(IDM_ABOU

35、TBOX 0 xF000);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);第26页/共38页第25页/共38页SetIcon(m_hIcon,TRUE);SetIcon(m_hIcon,TRUE);/Set big icon/Set big icon SetI

36、con(m_hIcon,FALSE);SetIcon(m_hIcon,FALSE);/Set small icon/Set small icon/在此加入其他初始化代码在此加入其他初始化代码(Add extra initialization here)(Add extra initialization here)CheckRadioButton(IDC_Boy_RADIO,IDC_Girl_RADIO,IDC_Boy_RADIO);CheckRadioButton(IDC_Boy_RADIO,IDC_Girl_RADIO,IDC_Boy_RADIO);CheckRadioButton(IDC_

37、Age1_RADIO,IDC_Age3_RADIO,IDC_Age2_RADIO);CheckRadioButton(IDC_Age1_RADIO,IDC_Age3_RADIO,IDC_Age2_RADIO);UpdateData(FALSE);UpdateData(FALSE);m_English=0;m_English=0;m_Record.AddString(85);m_Record.AddString(85);m_Record.AddString(90);m_Record.AddString(90);m_Record.AddString(95);m_Record.AddString(9

38、5);m_Record.SelectString(-1,95);m_Record.SelectString(-1,95);UpdateData(FALSE);UpdateData(FALSE);return TRUE;/return TRUE;/return TRUE unless you set the focus to a controlreturn TRUE unless you set the focus to a control 第27页/共38页第26页/共38页如图创建应用程序,在如图创建应用程序,在“形状形状”列表框中选择要绘制图形,在列表框中选择要绘制图形,在“笔颜色笔颜色”

39、下拉下拉列表框选择画笔的颜色,在列表框选择画笔的颜色,在“刷子颜色刷子颜色”下拉列表框中选择画刷的颜色。在下拉列表框中选择画刷的颜色。在“线型线型”组合框选择画笔的线型,在组合框选择画笔的线型,在“填充类型填充类型”中选择画刷填充类型。单击中选择画刷填充类型。单击“绘图绘图”按钮按照前面的选项绘制图形,单击按钮按照前面的选项绘制图形,单击“退出退出”按钮退出程序。按钮退出程序。第28页/共38页第27页/共38页静态文本静态文本 IDC_STATICIDC_STATIC 形状形状列表框列表框 IDC_LIST_SHAPEIDC_LIST_SHAPE静态文本静态文本 IDC_STATICIDC_

40、STATIC 刷子颜色刷子颜色下拉列表框下拉列表框 IDC_COMBO_BRUSHCOLORIDC_COMBO_BRUSHCOLOR静态文本静态文本 IDC_STATICIDC_STATIC 笔颜色笔颜色下拉列表框下拉列表框 IDC_COMBO_PENCOLORIDC_COMBO_PENCOLOR“笔颜色笔颜色”下拉列表框下拉列表框-单击鼠标右键单击鼠标右键-Properties-Properties-DataData选项卡选项卡-输入颜色输入颜色(输完一行后,输完一行后,按下按下Ctrl+EnterCtrl+Enter键键)。同理处理同理处理“画刷颜色画刷颜色”下下拉列表框拉列表框第29页/

41、共38页第28页/共38页 name ID Caption name ID Caption组合框 IDC_STATICIDC_STATIC 线型单选按钮 IDC_RADIO_SOLID SolidIDC_RADIO_SOLID Solid单选按钮 IDC_RADIO_DASH DashIDC_RADIO_DASH Dash单选按钮 IDC_RADIO_DOT DotIDC_RADIO_DOT Dot单选按钮 IDC_RADIO_DASHDOT DashDotIDC_RADIO_DASHDOT DashDotname ID Captionname ID Caption组合框 IDC_STATIC

42、IDC_STATIC 填充类型单选按钮 IDC_RADIO_SOLIDBRUSH SolidBrushIDC_RADIO_SOLIDBRUSH SolidBrush单选按钮 IDC_RADIO_CROSSIDC_RADIO_CROSSCrossCross单选按钮 IDC_RADIO_PDIAGONAL PDiagonalIDC_RADIO_PDIAGONAL PDiagonal单选按钮 IDC_RADIO_BDIAGONAL BDiagonalIDC_RADIO_BDIAGONAL BDiagonalSolid-Solid-鼠标右键鼠标右键 -Properties-Properties-选中选

43、中GroupGroup选选项。注意创建单选按钮时要项。注意创建单选按钮时要按照图中从上到下的顺序,按照图中从上到下的顺序,这样保证了单选按钮的这样保证了单选按钮的IDID值值是连续的,才能保证两组单是连续的,才能保证两组单选按钮的互斥性。选按钮的互斥性。下压式按钮 IDC_BTN_DRAWIDC_BTN_DRAW 绘制下压式按钮 IDOKIDOK退出第30页/共38页第29页/共38页 为对话框中控件连接变量为对话框中控件连接变量Control IdsControl Ids变量类型变量类型变量名称变量名称IDC_LIST_SHAPEIDC_LIST_SHAPECListBoxCListBoxm

44、_ListShapem_ListShapeIDC_COMBO_PENCOLORIDC_COMBO_PENCOLORCComboBoxCComboBoxm_ComboPenColorm_ComboPenColorIDC_COMBO_BRUSHCOLORIDC_COMBO_BRUSHCOLORCComboBoxCComboBoxm_ComboBrushColorm_ComboBrushColor在文件在文件14_8Dlg14_8Dlg中的消息处理函数中的消息处理函数OnInitDialog()OnInitDialog()中加入代码如下:中加入代码如下:m_ListShape.AddString(L

45、ine);m_ListShape.AddString(Line);m_ListShape.AddString(Circle);m_ListShape.AddString(Circle);m_ListShape.AddString(Rectangle);m_ListShape.AddString(Rectangle);m_ListShape.AddString(RoundRectangle);m_ListShape.AddString(RoundRectangle);调用列表框类成员函数调用列表框类成员函数AddString()AddString()给列表框加入选项,完成列表框的初始化给列表框加

46、入选项,完成列表框的初始化第31页/共38页第30页/共38页在在WorkspaceWorkspace窗口中,选择窗口中,选择ClassViewClassView卡,在类卡,在类CMy14_8DlgCMy14_8Dlg上单击鼠标右键,选上单击鼠标右键,选择择Add member variableAdd member variable菜单项,加入菜单项,加入publicpublic型变量如下所示:型变量如下所示:变量类型变量类型 变量名称变量名称 说明说明intint m_nPenStyle m_nPenStyle 标志由标志由“线型线型”组合框中所选择的画笔的类型组合框中所选择的画笔的类型in

47、tint m_nBrushStyle m_nBrushStyle 标志由标志由“填充类型填充类型”组合框中所选择的画刷类型组合框中所选择的画刷类型COLORREF m_crPenColor COLORREF m_crPenColor 标志标志“笔颜色笔颜色”列表框中所选择的画笔颜色列表框中所选择的画笔颜色COLORREF m_crBrushColor COLORREF m_crBrushColor 标志标志“刷子颜色刷子颜色”列表框中所选择的画刷颜色列表框中所选择的画刷颜色第32页/共38页第31页/共38页在在CMy14_8Dlg.cppCMy14_8Dlg.cpp的的OnInitDialo

48、g()OnInitDialog()函数中加入代码如下:函数中加入代码如下:m_crPenColor=RGB(255,0,0);m_crPenColor=RGB(255,0,0);/默认笔颜色默认笔颜色m_crBrushColor=RGB(255,0,0);m_crBrushColor=RGB(255,0,0);/默认刷颜色默认刷颜色m_nPenStyle=PS_SOLID;m_nPenStyle=PS_SOLID;/默认笔样式默认笔样式m_nBrushStyle=0;m_nBrushStyle=0;/默认刷样式为默认刷样式为SolidSolidm_ComboPenColor.SetCurSel

49、(0);m_ComboPenColor.SetCurSel(0);/设置设置PenPen组合框的当前选项组合框的当前选项m_ComboBrushColor.SetCurSel(0);m_ComboBrushColor.SetCurSel(0);/设置设置BrushBrush组合框的当前选项组合框的当前选项m_ListShape.SetCurSel(0);m_ListShape.SetCurSel(0);/设置默认的设置默认的ShapeShape/设置单选按钮按钮的初始状态设置单选按钮按钮的初始状态CheckRadioButton(IDC_RADIO_SOLID,IDC_RADIO_DASHDO

50、T,IDC_RADIO_SOLID);CheckRadioButton(IDC_RADIO_SOLID,IDC_RADIO_DASHDOT,IDC_RADIO_SOLID);CheckRadioButton(IDC_RADIO_SOLIDBRUSH,IDC_RADIO_BDIAGONAL,CheckRadioButton(IDC_RADIO_SOLIDBRUSH,IDC_RADIO_BDIAGONAL,IDC_RADIO_SOLIDBRUSH);IDC_RADIO_SOLIDBRUSH);在这里设置了各变量的初始值。默认笔和刷的颜色为红色,笔的线形为实在这里设置了各变量的初始值。默认笔和刷的颜

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com