• VC中Windows常用控件的创建和使用


    编辑类控件
      以窗口类名"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("内容已改变!"); }

  • 相关阅读:
    cas 单点登录服务端客户端配置
    POI 导出excel
    关于小米手机刷机亲尝
    C#对本地文件重命名--适用于下载的图片、电视剧等奇怪名字的重命名
    泛型List<T>与非泛型ArrayList
    设置一键启动多文件
    网页显示电子表
    插入sql语句01值时,在数据库中的查询时显示为1
    C#面向对象--继承
    SqlServer数据库查询不同字段-年龄段分析
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2329538.html
Copyright © 2020-2023  润新知