没有合适的资源?快使用搜索试试~ 我知道了~
window编程之MFC入门基础04
需积分: 9 2 下载量 184 浏览量
2008-11-28
22:22:32
上传
评论
收藏 147KB DOC 举报
温馨提示
试读
27页
不错的资源!对MFC详细讲解,相信对你有帮助!祝你成功!
资源推荐
资源详情
资源评论
4.1 Button
按钮窗口(控件)在 中使用 表示, 包含了三种样式的按钮,
,,。所以在利用 对象生成按钮窗口时需
要指明按钮的风格。
创建按钮: ! "#
$%!&!'()( *+其中 是按钮上显
示的文字,"# 为按钮风格,除了 !" 风格可以使用外(如 !,-( .
!,/('$.!, $)还有按钮专用的一些风格。
BS_AUTOCHECKBOX检查框,按钮的状态会自动改变 0
101"
1+00
12
BS_AUTORADIOBUTTON圆形选择按钮,按钮的状态会自动改变 0
1"1
0#3340540#
1"0#032
BS_AUTO3STATE允许按钮有三种状态即:选中,未选中,未定 0
6113"
2
BS_CHECKBOX检查框 07#
3#01"BS_LEFTTEXT#*2
BS_DEFPUSHBUTTON默认普通按钮 1
5#11211#3
$)$#2#17#0#
4*2
BS_LEFTTEXT左对齐文字 !01"61
61#441
12
BS_OWNERDRAW自绘按钮 "6"12
40"DrawItem0014"5
4132#01"3
CBitmapButton2
BS_PUSHBUTTON普通按钮 1
WM_COMMAND03""""
12
BS_RADIOBUTTON圆形选择按钮 0
#3#01"
BS_LEFTTEXT#*21#34
10#52
BS_3STATE允许按钮有三种状态即:选中,未选中,未定 0
11100"2
00##"11
12
为窗口所占据的矩形区域,! 为父窗口指针,( 为该窗口的 ( 值。
获取8改变按钮状态:对于检查按钮和圆形按钮可能有两种状态,选中和未选中,如果设置
了 ,9:$ 或 ,:'9:$ 风格就可能出现第三种状态:未定,这时按钮显示
灰色。通过调用 ;*得到当前是否被选中,返回 <:未选中,=:
选中,>:未定。调用 5*+设置当前选中状态。
处理按钮消息:要处理按钮消息需要在父窗口中进行消息映射,映射宏为
),),(?$ 001* 为按钮的 ( 值,就是创建时指定的 ( 值。处
理函数原型为 4,035001*+
4.2 Static Box
静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。创建一个窗口可以使
用成员函数:
! "#$%
!&!'()( @<AA*+
其中 "# 将指明该窗口的风格,除了子窗口常用的风格 !,-( !,/(($ 外,
你可以针对静态控件指明专门的风格。
,$)$,$,(;-指明字符显示的对齐方式。
,;:B$显示一个灰色的矩形
,)$(C如果指明该风格,对于字符%将直接显示,否则%将作为转义符,
%将不显示而在其后的字符将有下划线,如果需要直接显示%必须使用%%表示。
,(:显示位图
,()显示图标
,$)$(:;$图象居中显示
控制显示的文本利用成员函数 !"8;!" 用于设置8得到当前显
示的文本。
控制显示的图标利用成员函数 (8;( 用于设置8得到当前显示的图标。
控制显示的位图利用成员函数 08;0 用于设置8得到当前显示的位图。
下面一段代码演示如何创建一个显示位图的静态窗口并设置位图
& @"+
6DEE!,-( .!,/(($.,(:.
$)$(:;$
<<F<F<*!=*+
010+
1020( ,$*+
6D0102 **+
4.3 Edit Box
$ 窗口是用来接收用户输入最常用的一个控件。创建一个输入窗口可以使用成员函数:
$ ! "#$%
!&!'()( @<AA*+
其中 "# 将指明该窗口的风格,除了子窗口常用的风格 !,-( !,/(($ 外,
你可以针对输入控件指明专门的风格。
$,:'-$,:'/指明输入文字超出显示范围时自动滚动。
$,$)$$,$$,(;-指定对齐方式
$,'(()$是否允许多行输入
$,:! 是否为密码输入框,如果指明该风格则输入的文字显示为&
$,$: )B是否为只读
$,'$:$$,!$:$显示大写8小写字符
控制显示的文本利用成员函数 !"8;!" 用于设置8得到当前显
示的文本。
通过 ;080 可以得到8设置在输入框中输入的字符数量。
由于在输入时用户可能选择某一段文本,所以通过 5$;%
%$*得到用户选择的字符范围,通过调用 5
$$1)@:$*可以设置
当前选择的文本范围,如果指定 @<$@6= 则表示选中所有的文本。
5)"1'@:$*可以将选中
的文本替换为指定的文字。
此外输入框还有一些和剪贴板有关的功能,5*+删除选中的文本,5
#*+可将选中的文本送入剪贴板,5*+将剪贴板中内容插入到当前输入框
中光标位置,5*+相当于 # 和 结合使用。
最后介绍一下输入框几种常用的消息映射宏:
),$),-:);$输入框中文字更新后产生
),$),$:$输入框无法分配内存时产生
),$),?('8),$),$'在输入框失去8得到输入焦点时产生
使用以上几种消息映射的方法为定义原型如:4,035001*+的函数,并
且定义形式如 ),)G001*的消息映射。如果在对话框中使用输
入框,! 会自动列出相关的消息,并能自动产生消息映射代码。
4.4 Scroll Bar
一般不会单独使用,因为 可以取代滚动条的一部分作用,但是如果你
需要自己生成派生窗口,滚动条还是会派上一些用场。创建一个滚动条可以使用成员函数:
:
$ ! "#$%
!&!'()( @<AA*+
其中 "# 将指明该窗口的风格,除了子窗口常用的风格 !,-( !,/(($ 外,
你可以针对滚动条指明专门的风格。
,/$风格将创建一个垂直的滚动条。
,-H风格将创建一个水平的滚动条。
在创建滚动条后需要调用 53
1"@'$*设置滚动范围,
;*8*用来得到和设置当前滚动条的位置。
5"1"@'$*+用来显示8隐藏滚动条。
$1'():"3@$,$):$,-*用来设置滚动条
上箭头是否为允许状态。:"3 可取以下值:
$,$):$,-两个箭头都为允许状态
$, (:$,'上8左箭头为禁止状态
$, (:$, )下8右箭头为禁止状态
$, (:$,-两个箭头都为禁止状态
如果需要在滚动条位置被改变时得到通知,需要在父窗口中定义对消息 !,/8
!,- 的映射。方法为在父窗口类中重载
4,035/'()'()&
*84,035-'()'()&*
所使用的消息映射宏为:),!,/*),!,-*,在映射宏中不
需要指明滚动条的 ( ,因为所有滚动条的滚动消息都由同样的函数处理。在 -8
/ 的第三个参数会指明当前滚动条的指针。第一个参数表示滚动条上发生的动作,
可取以下值:
,8,已滚动到顶8底部
,()$'8,()$ !)向上8下滚动一行
,:;$ !)8,:;$'向上8下滚动一页
,-'(()8,-':?滚动条拖动到某一位置,参数
指明当前位置(参数 在其它的情况下是无效的)
,$) 滚动条拖动完成(用户松开鼠标)
4.5 List Box/Check List Box
窗口用来列出一系列的文本,每条文本占一行。创建一个列表窗口可以使用成员
函数:
! "#$%
!&!'()( @<AA*+
其中 "# 将指明该窗口的风格,除了子窗口常用的风格 !,-( !,/(($ 外,
你可以针对列表控件指明专门的风格。
,'($$指明列表框可以同时选择多行
,$C$) $ $可以通过按下 48 键选择多行
,所有的行按照字母顺序进行排序
在列表框生成后需要向其中加入或是删除行,可以利用:
:3(0*添加行,
3'()(*删除指定行,
(3((0*将行插入到指定位置。
5*可以删除列表框中所有行。
通过调用 ;*得到当前列表框中行的数量。
如果需要得到8设置当前被选中的行,可以调用 ;*8
(*。如果你指明了选择多行的风格,你就需要先调用 ;*得到被选
中的行的数量,然后 ;(0(0()3(*得到所有选中
的行,参数 3( 为存放被选中行的数组。通过调用 ;(
*得到列表框内指定行的字符串。
此外通过调用 3:4(0*可以在当前所有行
中查找指定的字符传的位置,:4 指明从那一行开始进行查找。
3:4(0*可以选中包含指定字符串的行。
在 F2> 版本中添加了 类,该类是由 派生并拥有
的所有功能,不同的是可以在每行前加上一个检查框。必须注意的是在创建时必须指明
,!)$ :!(C$ 或 ,!)$ :!/:(:$ 风格。
通过 5#'()#*8'();#*可以设置8得到检查
框的风格,关于检查框风格可以参考 F2= 中介绍。通过 5
(*8;(*可以设置和得到某行的检查状态,关
于检查框状态可以参考 F2= 中介绍。
最后介绍一下列表框几种常用的消息映射宏:
),), ?鼠标双击
),$),$:$输入框无法分配内存时产生
),$),?('8),$),$'在输入框失去8得到输入焦点时产生
),),$-:);$选择的行发生改变
剩余26页未读,继续阅读
资源评论
lzwaa1229
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功