vc3第11章编辑框类及其应用.ppt
《vc3第11章编辑框类及其应用.ppt》由会员分享,可在线阅读,更多相关《vc3第11章编辑框类及其应用.ppt(44页珍藏版)》请在三一文库上搜索。
1、2019/9/2,1,面向对象与可视化 程序设计 -Visual C+ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年10月,2019/9/2,2,第十一章 编辑框类及其应用,2019/9/2,3,内容提要,编辑框类的结构及其方法 编辑框类控件的应用,2019/9/2,4,11.1. 编辑框类的结构 及其方法,2019/9/2,5,1.CEdit类,编辑框控件主要功能输入或编辑文本 编辑框控件 单行编辑框控件 多行编辑框控件 Cedit类是Cwnd类直接派生的。,2019/9/2,6,1.CEdit类,在MFCInclud
2、eAfxwin.h中定义了Cedit类 当创建CEdit对象时,MFC自动赋予该对象一个标准的Windows编辑控件,它定义了CEdit对象。,class CEdit : public CWnd DECLARE_DYNAMIC(CEdit) public: CEdit(); /此为构造函数定义,以下定义成员函数 BOOL Create(DWORD dwStyle, const RECT,CEidt类的定义,2019/9/2,8,#if (WINVER = 0x400) void SetMargins(UINT nLeft, UINT nRight); DWORD GetMargins() co
3、nst; void SetLimitText(UINT nMax); UINT GetLimitText() const; CPoint PosFromChar(UINT nChar) const; int CharFromPos(CPoint pt) const; #endif int GetLine(int nIndex, LPTSTR lpszBuffer) const; int GetLine(int nIndex, LPTSTR lpszBuffer, int nMaxLength) const; / 操作 void EmptyUndoBuffer(); BOOL FmtLines(
4、BOOL bAddEOL);,lpszBuffer的第一个字必须 是 buffer的大小!,void LimitText(int nChars = 0); int LineFromChar(int nIndex = -1) const; int LineIndex(int nLine = -1) const; int LineLength(int nLine = -1) const; void LineScroll(int nLines, int nChars = 0); void ReplaceSel(LPCTSTR lpszNewText, BOOL bCanUndo = FALSE);
5、void SetPasswordChar(TCHAR ch); void SetRect(LPCRECT lpRect); void SetRectNP(LPCRECT lpRect); void SetSel(DWORD dwSelection, BOOL bNoScroll = FALSE); void SetSel(int nStartChar, int nEndChar, BOOL bNoScroll = FALSE); BOOL SetTabStops(int nTabStops, LPINT rgTabStops); void SetTabStops(); BOOL SetTabS
6、tops(const int / takes an int,/ 剪贴板操作 BOOL Undo(); void Clear(); void Copy(); void Cut(); void Paste(); BOOL SetReadOnly(BOOL bReadOnly = TRUE); int GetFirstVisibleLine() const; TCHAR GetPasswordChar() const; / Implementation public: virtual CEdit(); /虚拟析构函数 ;,2019/9/2,13,11.2. 编辑框控件的应用,2019/9/2,14,
7、例11-1设计并实现带有两个编辑框的应用程序,其窗口布局如 图11-1,功能如下: 单击ShowlEdit1编辑框中显示“This is the first EditBox.” 单击Clear1Edit1编辑框中的内容被清除; 单击Show2Edit2编辑框中显示“This is the second EditBox!” 单击Clear2Edit2编辑框中的内容被清除; 单击TransferEdit1编辑框的内容复制到Edit2的编辑框中去 单击Undo取消上一次操作 单击Exit退出程序的运行,图11-1 应用程序的窗口布局,2019/9/2,16,1.编程过程,建立工程文件:用MFC Ap
8、pWizard(exe) 工程项目名称:EditBox 建立基于对话框的应用程序,选择Dialog based,生成对话框窗口作为主窗口。 可视化编程: 设计界面 连接变量 修改特性 添加代码,2.设计界面,在EditBox的工作区中选择Resource View 在名为IDD_EDITBOX_DIALOG的对话框作为应用程序的主窗口中进行界面设计,生成了工程文件和 工程工作区文件后 在EditBox的工作区 中选择ResourceView,2019/9/2,18,2.设计界面(续),控件工具窗 提供了VC中 所有可建立 的控件类型,把鼠标停在 编辑框控件 上,即可显 示该控件的 类型。,直接
9、在可视化编辑的 IDD_EDITBOX_DIALOG 对话框, 利用控件工 具窗实现可视化操作,编辑框控件布置对话框中如编辑框。,将鼠标移到Edit1编辑框上; 单击鼠标右键,并在快捷菜单中选择Properties命令; 在窗口中输入控件的ID标识值IDC_EDIT1; 用同样的方法设置其它各个对象的属性。,3.给界面对象连接变量,在编辑框EDIT1中,单击鼠标右键,在弹出的快捷菜单中,选择ClassWizard; 选择Member Variables; 单击IDC_EDIT1;,(a)选择Member Variables选项卡,(b)单击Control Ids列表 框中IDC_EDIT1项,
10、 使之高亮化,(c) 单击Add Variable 按钮,显示Add MemberVariable窗口,单击Add Variable按钮,显示AddMemberVariable窗口; 成员变量名设置为m_Edit1; 类别设置为Control; 变量类型设置为CEdit。,注意:只有将m_Edit1设为CEdit 类型,才能调用该类的Copy () , Paste () 等成员函数,实现本应用程序的操作。,(d)置Member Variables name 为m_Edit1,(f)置 Variable type为CEdit1,(e)置Categroy 为Control,用同样的方法给编辑框ED
11、IT2等其它对象连接各自的变量; 最终,ClassWizard窗口将变为下图所示。,水平及垂 直滚动条,4 .修改编辑框的特性,在编辑框EDIT1中,单击鼠标右键; 在快捷菜单中,选Properties命令; 选Styles选项卡,进行设置,修改其的特性。 用同样方法修改EDIT2的特性。,多行 编辑,允许回车键,可实现多行文本输入,5 . 给界面对象连接函数添加代码,在按钮Showl上,单击鼠标右键,在弹出的快捷菜单中,选择ClassWizard; 选择Message Map; 单击IDC_SHOW1_BUTTON; 单击BN_CLICKED,(a)选择Member Map选项卡,(b)单击
12、Object Ids列表框中 IDC_SHOW1_BUTTON项,,(d) 单击Add Function 按钮,显示Add MemberFunction窗口,(c)单击Message列表框 中BN_CLICKED项,,单击Add Function按钮,弹出Add Member Function窗口 接受Add Member Function建议的函数名 增加了成员函数OnShow1Button(); 单击Edit Code按钮, 显示代码文件,进行添加代码。,(e)接受Add Member Function建议的函数 名OnShow1Button(),(b) 增加了成员函数 OnShow1Bu
13、tton(),(d) 单击Edit Code, 显示代码文件, 添加代码,void CEditBoxDlg:OnShow1Button() m_Edit1.SetSel(0,-1); /选中编辑框IDC_EDIT1中的全部内容 m_Edit1.ReplaceSel(“This is the first EditBox.“);/替换内容 请注意:程序中SetSel()和 ReplaceSel()都是CEdit类中的成员函数,m_Edit1是属于CEdit类的对象,可以调用之。,(1) 给Showl按钮连接代码,(2) 给Clear1按钮连接代码,void CEditBoxDlg:OnClear1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vc3 11 编辑 及其 应用
链接地址:https://www.31doc.com/p-3486186.html