本文需要的主要工具: VC6.0 MSDN MFC 类库详解(网上可以下载,对于英文不过关的人很方便) 等等… 本文来自:童年的博客 本文
源代码:download.csdn.net/detail/lzx78718/4073315
I 按钮应用大全 按钮应用大全
按钮是最常用的控件,使用也比较简单,因此介绍控件的用法就从按钮开始。本文计划 通过四个阶段对按钮的使用进行详细阐述,即基础、进阶、高级、特殊。
一、基础应用
(一)在视图中创建按钮 示例程序:Button 1、普通按钮 在视图中创建按钮非常简单,需要以下步骤: (1)在视图类中定义成员变量或 CButton 指针 在 CButtonView 类上点击右键,选择 Add Member Variable…,添加成员变量 m_Btn, *p_Btn; (2)为按钮分配 ID 号 我们可以为按钮分配超过 100 以上的任意 ID 号,但是规范的做法是在资源视图中选择 String Table,在其中添加资源 ID 及其注解或标题。 (图 I-1)
(3)为视图类添加 windows 消息处理函数 OnCreate(…)
一个窗口创建之后发送的第一个消息就是 WM_CREATE 消息,其消息响应函数为 OnCreate() ,因此在这个函数中创建按钮最合适。在 CButtonView 类上点击右键,选择 Add Windows Message Handle…,在生成的对话框中选择 WM_CREATE 消息,生成函数。 (4)首先获取资源中按钮的标题(当然也可以用任意标题,例如第二个按钮) ,如果定 义的是成员变量,则直接调用 Create 函数创建按钮;如果是指针,则先 new 一个对象,然 后用 Create 函数创建按钮。 在 OnCreate 函数中添加如下代码(附注释) : //定义字符串,用来存储按钮标题 CString str_push1; //获取按钮 1 标题 str_push1.LoadString(IDC_BUTTON_PUSH1); //创建按钮 1 m_Btn.Create(str_push1,WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON ,CRect(10,10,200,60), this,IDC_BUTTON_PUSH1); //生成按钮对象 p_Btn=new CButton(); //创建按钮 2 p_Btn->Create(_T("第 二个按 钮 "),WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON ,CRect(10,70,200,120), this,IDC_BUTTON_PUSH2); Create 函数具体用法这里就不赘述了,需要注意的是,按钮窗口风格包括以下内容: BS_3STATE 与复选框一样本样式按钮可被单击变暗。变暗状态通
常用于指示本样式的 按键正处于禁用状态。 *. BS_AUTO3STATE 与三状态的复选框一样当用户选中它本按钮样式状态外观会改变。 *. BS_AUTOCHECKBOX 与复选框一样,除了在用户点控件后会出现一个选中标志,当 用户在下一次点选时,该标志会消失。 *. BS_AUTORADIOBUTTON 与单先框一样,不同的是,用户点选它时会高亮显示,同 时,会把同一组的其它同样的按钮的高亮状态转移到自己身上。 *. BS_BITMAP 指定按钮以一张位图显示。 *. BS_BOTTOM 把按钮标题放置到按钮矩形区域的底部
。 *. BS_CENTER 按钮标题在按钮的矩形区域中央显示。 *. BS_CHECKBOX 在按钮的右边创建一个小方块 (此样式必须与 BS_LEFTTEXT 结合使 用。 ) *. BS_DEFPUSHBUTTON 创建一个通用的默认按钮该按钮有一个厚重的黑色边框。用户
可以通过按回车键来点选本按钮, 该按钮可以实现用户通常要使用的功能 (即默认执行动作 功能) 。 *. BS_FLAT 指定按钮为 2D 按钮,不采用 3D 控件所使用的阴影。 *. BS_GROUPBOX 创建一个分组框来给控件分组,如果使用了标题,则标题会出现在分 组框的左上角位置。 *. BS_ICON 指定按钮上显示一个图标。 *. BS_LEFT 在控件的矩形区域内左对齐标题。 如果按钮是一个没有 BS_RIGHTBUTTON 样式的复选框或单选框 , 那么文本居将在复选框或单选框的右边居左对齐 (这话有些多余, 意思文本在复选框或单选框的那个可选被小方框或圆圈的右边。。 ) *. BS_LEFTTEXT 当按钮是单选或是复选框时,标题文本将出现在单选或复选框的客户 区(即复选框的矩形框,单选框的