MFC对话框控件的属性、方法、消息
发布日期:2021-05-10 02:21:55 浏览次数:21 分类:精选文章

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

静态控件(Static Control)

属性:

  • Align text:横向对齐方式,可选左对齐、中对齐、右对齐,默认为左对齐
  • Center vertically:将文本垂直居中,布尔型,默认为假
  • Notify:控件被单击时是否通过父窗口,布尔型,默认为假
  • Sunken:使控件看上凹的感觉,布尔型,默认为假
  • Border:设置边框,布尔型,默认为假

常用方法:

  • SetBitmap:指定在静态控件中显示的位图
  • GetBitmap:获取用SetBitmap设置的位图的句柄
  • SetIcon:指定在静态控件中要显示的图标资源
  • GetIcon:获取用SetIcon设置的图标的句柄
  • GetRect:获取编辑框控件的矩形

编辑框(Edit Control)

属性:

  • Align text:左对齐、右对齐或居中对齐,默认为左对齐
  • Multiline:编辑框是否多行
  • Number:只允许输入数字
  • Auto HScroll:输入到窗口右边界后自动产生横向滚动条
  • Password:设置后输入内容显示为星号
  • Want return:在多行编辑框中按Enter时插入回车符,默认行为
  • Read-only:只读状态
  • Uppercase:输入字符转换为大写

方法:

  • GetSel:获取编辑框中当前选择的字符范围
  • ReplaceText:用指定文本替换编辑框内容
  • SetSel:选择编辑框中的字符范围
  • GetModify:确定编辑框内容是否被修改
  • SetModify:设置或清除编辑框的修改标志
  • SetReadOnly:设置只读属性
  • GetPasswordChar:获取输入时显示的口令字符
  • LimitText:限制输入文本长度
  • Copy:将选中内容复制到剪贴板
  • Paste:从剪贴板粘贴到光标位置
  • GetLineCount:获取多行编辑框的行数
  • GetLine:获取某一行文本

滚动条(ScrollBar Control)

属性:

  • 滚动范围(最小值和最大值)
  • 垂直或水平滚动方向

方法:

  • SetScrollRange:设置滚动范围
  • GetScrollRange:获取滚动范围
  • SetScrollPos:将滚动块移动到指定位置
  • GetScrollPos:获取滚动块当前位置

消息处理:

  • WM_HSCROLLWM_VSCROLL消息
  • 重载这些消息处理函数可自定义滚动行为
  • 常见消息代码:SB_THUMBPOSITION、SB_THUMBTRACK、SB_LINEUP、SBLINEDOWN、SB_PAGEDOWN、SB_PAGEUP、SB_ENDSCROLL等

实例: 创建对话框后添加三个滚动条,设置RGB值并使用OnHScroll消息响应函数实现 滚动条控制

进度条(Progress bar Control)

属性:

  • Smooth:使用不间断的蓝色条填充

方法:

  • SetRange:设置进度条范围
  • GetRange:获取进度条范围
  • SetPos:设置当前位置
  • GetPos:获取当前位置
  • SetStep:设置步长
  • StepIt:进度条增加指定步长

消息处理: 通过StepIt方法控制进度条变化

应用示例: 创建播放器对话框,实时更新进度条 使用微调控件和滑块控件 添加消息处理函数(如UDN_DELTAPOS)实现播放控制

上一篇:MFC控件子类化技术实现
下一篇:MFC通用对话框的字体对话框失败问题

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月03日 18时08分21秒