窗口消息实例编程PPT演示课件_第1页
窗口消息实例编程PPT演示课件_第2页
窗口消息实例编程PPT演示课件_第3页
窗口消息实例编程PPT演示课件_第4页
窗口消息实例编程PPT演示课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章窗口控件通知消息编程,粘贴与复制?,1,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,项目九编辑框、列表框、组合框综合信息处理(ListCombo.sln)【目标】掌握文本编辑框、列表框、组合框控件通知消息的编程【功能】在基于对话框的应用程序中:,2,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,项目九编辑框、列表框、组合框综合信息处理(ListCombo.sln)【目标】掌握文本编辑框、列表框、组合框控件通知消息的编程1、在对话框类的OnInitDialog()成员函数初始化“源信息列表框”的内容为:,3,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,项目九编辑框、列表框、组合框综合信息处理(ListCombo.sln)【目标】掌握文本编辑框、列表框、组合框控件通知消息的编程2、在上部的文本编辑框中输入任意文本,单击“增加”按钮,在“源信息列表框”中新增一行。3、单击“源信息列表框”中任意位置,该控件取得焦点。当使用或键,当前选中的行位置发生变化,系统解析变化后位置上的文本内容,然后将相应的信息显示在“图像显示区”中。若文本内容为“椭圆”,则显示椭圆图案;为“矩形”,则显示矩形图案;为“三角形”,则显示三角形图案。若为位图,则显示该位图;否则什么什么都不显示。,4,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,项目九编辑框、列表框、组合框综合信息处理(ListCombo.sln)【目标】掌握文本编辑框、列表框、组合框控件通知消息的编程4、选中图像显示区的“组合框”中“大图”时,下部的图以大的尺寸显示;若选中“小图”时,下部以较小的尺寸显示图案。5、单击按钮“删除当前项”,“源信息列表框”中当前选中的行被删除。,5,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,项目九编辑框、列表框、组合框综合信息处理(ListCombo.sln)【目标】掌握文本编辑框、列表框、组合框控件通知消息的编程6、单击按钮“”,左边“源信息列表框”中选中的行被移动到右边的“目标信息列表框”中。7、单击按钮“”,右边“目标信息列表框”中选中的行被移动到左边的“源信息列表框”中。,6,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,项目九编辑框、列表框、组合框综合信息处理项目演示,7,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点列表框控件通知消息LBN_DBLCLK(观察MSDN帮助,并翻译),Thismessageissentbyanapplicationwhentheuserdouble-clicksastringinalistbox.,1、含义:“用户双击了列表框中某个行文本”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_DBLCLK(,)其中,函数原型:afx_msgvoidmemberFxn();,8,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点列表框控件通知消息LBN_ERRSPACE(观察MSDN帮助,并翻译),Thismessageissentbyanapplicationwhenalistboxcannotallocateenoughmemorytomeetaspecificrequest.,1、含义:“当列表框为解决特定需要而不能分配足够内存”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_DBLCLK(,)其中,函数原型:afx_msgvoidmemberFxn();,9,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点列表框控件通知消息LBN_SELCHANGE(观察MSDN帮助,并翻译),Thismessageissentbyanapplicationwhentheselectioninalistboxisabouttochange.,1、含义:“列表框中当前文本行位置改变”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_SELCHANGE(,)其中,函数原型:afx_msgvoidmemberFxn();,10,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点列表框控件通知消息LBN_SETFOCUS(观察MSDN帮助,并翻译),Thismessageissentbyanapplicationwhenalistboxreceivesthekeyboardfocus.,1、含义:“列表框取得焦点”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_SEFOCUS(,)其中,函数原型:afx_msgvoidmemberFxn();,11,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点列表框控件通知消息LBN_KILLFOCUS(观察MSDN帮助,并翻译),Thismessageissentbyanapplicationwhenalistboxlosesthekeyboardfocus.,1、含义:“列表框取得焦点”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_KILLFOCUS(,)其中,函数原型:afx_msgvoidmemberFxn();,12,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_CLOSEUP(观察MSDN帮助,并翻译),Thismessageissentwhenthelistboxofacomboboxhasbeenclosed.,1、含义:“下拉列表弹起”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_CLOSEUP(,)其中,函数原型:afx_msgvoidmemberFxn();,13,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_CLOSEUP(观察MSDN帮助,并翻译),Thismessageissentwhenthelistboxofacomboboxhasbeenclosed.,1、含义:“下拉列表弹起”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_CLOSEUP(,)其中,函数原型:afx_msgvoidmemberFxn();,14,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_DBLCLK(观察MSDN帮助,并翻译),Thismessageissentwhentheuserdouble-clicksastringinthelistboxofacombobox.,1、含义:“下当双击了组合框中的列表框中的一个文本行”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_DBCLK(,)其中,函数原型:afx_msgvoidmemberFxn();,15,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_DROPDOWN(观察MSDN帮助,并翻译),Thismessageissentwhenthelistboxofacomboboxisabouttobemadevisible.,1、含义:“组合框中的列表框出现”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_DROPDOWN(,)其中,函数原型:afx_msgvoidmemberFxn();,16,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_EDITCHANGE(观察MSDN帮助,并翻译),Thismessageissentaftertheuserhastakenanactionthatmayhavealteredthetextintheeditcontrolportionofacombobox.,1、含义:“组合框中的文本编辑框内容改变”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_EDITCHANGE(,)其中,函数原型:afx_msgvoidmemberFxn();,17,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_SELENDCANCEL,Thismessageissentwhentheuserselectsanitem,butthenselectsanothercontrolorclosesthedialogbox.,1、含义:“用户选中了一个文本行,然后又选选择了其它的控件,从而列表框消失”事件发生时,产生此消息,然后发送至该控件的父窗口。2、消息映射:ON_LBN_SELENDCANCEL(,)其中,函数原型:afx_msgvoidmemberFxn();,18,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点组合框控件通知消息CBN_EDITUPDATECBN_ERRSPACECBN_SETFOCUSCBN_KILLFOCUSCBN_SELENDOK,19,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点何谓组合框?,列表框+编辑框(举例,PowerPoint中),20,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点前台后台按钮控件界面CButton编辑框控件界面CEdit静态文本控件界面CStatic列表框控件界面CListBox组合框控件界面CComboBox全部由CWnd类派生!,21,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点控件界面与MFC类型的捆绑,22,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点获取编辑框控件的文本内容CWnd:GetDlgItemText两种形式:intGetDlgItemText(intnID,LPTSTRlpStr,intnMaxCount)const;intGetDlgItemText(intnID,CString,23,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点设置编辑框控件的文本内容CWnd:SetDlgItemText两种形式:voidSetDlgItemText(intnID,LPCTSTRlpszString);,24,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点获取设置编辑框控件的文本内容另外一种方式:GetWindowTextSetWindowText前提是,控件应与对象变量捆绑,然后调用对象变量的上述两个成员函数。(延后举例),25,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点让按钮不可用(变成灰色显示)的方法:EnableWindow(BOOLbEnable=TRUE);,ThismessageisbEnableSpecifieswhetherthegivenwindowistobeenabledordisabled.IfthisparameterisTRUE,thewindowwillbeenabled.IfthisparameterisFALSE,thewindowwillbedisabled.,26,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点对话框中控件初始化的时机:CDialog:OnInitDialog();视图中控件初始化的时机:CView:OnInitUpdate();,27,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点当窗口大小发生变化(高度或宽度)时:CDialog:OnInitDialog();视图中控件初始化的时机:CView:OnInitUpdate();,28,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点向列表框(CListBox)中添加文本行:窗CListBox:AddString();,29,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点向组合框(CComboBox)中添加文本行:窗CComboBox:AddString();,30,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点在列表框中设置当前位置行:CListBox:SetCurSel();,31,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点在组合框中设置当前位置行:CComboBox:SetCurSel();,32,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点取得列表框的当前位置行的值(从位置0开始):intCListBox:GetCurSel();返回值若为-1,说明当前没有选中的位置,33,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点取得组合框的当前位置行的值(从位置0开始):intCComboBox:GetCurSel();返回值若为-1,说明当前没有选中的位置,34,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点取得列表框中文本行的个数:intCListBox:GetCount()const,35,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点取得组合框中文本行的个数:intCComboBox:GetCount()const,36,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点使控件可用/不可用的方法:EnableWindow(BOOLbEnable=TRUE);BOOLbEnable=TRUE:窗口可用BOOLbEnable=FALSE:窗口不可用,37,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点取得默认的背景颜色:方法一:COLORREFclr=(COLORREF)GetSysColor(COLOR_3DFACE);方法二:PhotoShop吸管功能(演示),38,第六章窗口控件通知消息编程,项目九编辑框、列表框、组合框综合信息处理,新的知识点绘制三角形:无填充效果:CDC:MoveTo()CDC:LineTo()有填充效果:POINTpt3;对点赋值CDC:Polygon();/MSDN,39,第六章窗口控件通知消息编程,项目九

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论