博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VC中Windows常用控件的创建和使用
阅读量:6583 次
发布时间:2019-06-24

本文共 1704 字,大约阅读时间需要 5 分钟。

编辑类控件

  以窗口类名"EDIT"创建的编辑类控件是一个可以用来接受用户字符输入的矩形区域,可以在其内进行编辑操作。该控件是程序接受用户字符输入的一种主要手段,输入的内容存放在其父窗口容量有限的(32KB)局部堆中。
  MFC的CEdit类提供了有关编辑类控件的功能函数。编辑控件既可以在对话框模板上创建也可以通过代码来直接创建,这两种方式均要通过CEdit的构造函数来构造一个CEdit对象。CEdit类从CWnd继承了一些重要的函数,比如可以通过使用CWnd类成员函数SetWindowText()和GetWindowText()来设定和获取一个编辑控件中的文本。同按钮类控件类似,如果要处理由编辑控件发送给其父窗口的通知消息,需要在父窗口类中为每一个待处理消息增添消息映射入口和消息响应函数。
  在调用Create()函数创建编辑控件时,Windows系统将发出WM_NCCREATE、WM_NCCALCSIZE、WM_CREATE和WM_GETMINMAXINFO等消息给编辑控件。这些消息缺省地分别由OnNcCreate()、OnNcCalcSize()、OnCreate()和OnGetMinMaxInfo()等CWnd类成员函数进行处理,可以根据实际需要对其进行重载使用。作为一种特殊的窗口,编辑控件除了需要指定普通窗口风格外,还可以通过选用不同的控件风格而获取相应的功能效果,可选用的编辑风格列表如下:

编辑风格 说明
ES_AUTOHSCROLL 当在行尾添加一个字符后自动向右滚动10个字符。
ES_AUTOVSCROLL 当输入回车后自动上滚一行。
ES_CENTER 字符居中显示。
ES_LEFT 字符左对齐。
ES_LOWERCASE 统一转化为小写字母。
ES_MULTILINE 允许多行显示。
ES_NOHIDESEL 当编辑失去焦点时隐藏对字符的选定,重新获得焦点后以反色显示选中内容。
ES_OEMCONVERT 将ANSI字符转化为OEM字符。
ES_PASSWORD 以星号显示字符,多用于回显密码。
ES_RIGHT 字符右对齐
ES_UPPERCASE 统一转化为大写字母。
ES_READONLY 设置字符为只读。
ES_WANTRETURN 接受回车键输入。

  下面给出创建、用编辑控件的示例代码,该示例首先通过Create()函数创建一个控件对象,并通过SetWindowText()函数为其设置字符。通过添加对控件通知消息的响应代码可以检测文本是否发生了改变。程序主要实现清单如下:

// 控件的创建部分: // 创建编辑控件 m_ctrEdit.Create(WS_VISIBLE | WS_CHILD | WS_BORDER | ES_WANTRETURN | ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL, CRect(10, 50, 250, 150), this, ID_EDIT1); // 为控件设置字符 m_ctrEdit.SetWindowText("Hello World!"); …… // 添件对控件通知消息的响应 //{

{AFX_MSG(CSample02View) afx_msg void OnEnChange(); //}}AFX_MSG DECLARE_MESSAGE_MAP() …… BEGIN_MESSAGE_MAP(CSample02View, CView) //{
{AFX_MSG_MAP(CSample02View) ON_EN_CHANGE(ID_EDIT1, OnEnChange) //}}AFX_MSG_MAP END_MESSAGE_MAP() …… void CSample02View::OnEnChange() { // 通知消息响应代码 AfxMessageBox("内容已改变!"); }

转载于:https://www.cnblogs.com/lzhitian/archive/2012/01/26/2329538.html

你可能感兴趣的文章
css布局
查看>>
HBase-java api 基本操作
查看>>
POJ2229 Sumsets
查看>>
在LINQ-TO-SQL中实现“级联删除”的方法
查看>>
lemur run PLSA
查看>>
HTTP中的header头解析说明
查看>>
MVC3.0原理学习及总结
查看>>
删除windows中的库、家庭组、收藏夹
查看>>
war 宽度变窄
查看>>
set p4 environment in windows
查看>>
pl/sql development 查询的数据复制到excel
查看>>
自定义指令的参数
查看>>
python实现进度条
查看>>
Android 一个应用启动另一个应用的说明
查看>>
阿里云CentOS7服务器利用LVM分区挂载磁盘全记录
查看>>
Setting up the Web Admin Tool in LDAP 6.x to communicate via SSL
查看>>
SQL好习惯:编写支持可搜索的SQL
查看>>
Shadowbox
查看>>
【 程 序 员 】:伤不起的三十岁,你还有多远 ?
查看>>
openldap安装
查看>>