精华内容
下载资源
问答
  • windows复选按钮形状
    2020-12-21 02:30:30

    【单选题】( )是木马病毒名称的前缀。

    【其它】听写单句

    【单选题】计算机操作系统的作用是( )。

    【单选题】下面关于流媒体的说法,错误的是( )。

    【填空题】数据表视图中显示的各个字段,通常是按照数据表( )中所设置的顺序排列的。 (10.0分)

    【单选题】硬盘的( )不是一个实际意义的分区,而是一个指向下一个分区的指针。

    【其它】听写单句

    【简答题】马尔科夫模型实训

    【简答题】实施对照完整性时,用户必须遵守哪些规则? (15.0分)

    【其它】在百度网页中搜索“流媒体”的相关信息,然后将流媒体的信息复制到记事本中,保存到桌面。

    【单选题】定义字段的默认值是指( )。 (10.0分)

    【其它】听写对话

    【填空题】表是( )的集合,一个数据库中可以有多个数据表,一个数据表又由多个具有不同数据类型的( )组成。 (10.0分)

    【单选题】以下正确的 IP 地址是( )。

    【多选题】薪酬一般具有的基本职能包括()?

    【简答题】打开表之后,什么时候应在数据表视图中工作?什么应中设计视图中工作? (15.0分)

    【其它】听写对话

    【其它】听写对话

    【其它】听写对话

    【其它】听写对话

    【单选题】抑制胃酸药作用最强的药物是

    【其它】听写单句

    【简答题】新建一个空白文档,并将其以“个人简历 . docx ” 为名保存,按照下列要求对文档进行操作。 ( 1 )输入标题文本,并设置格式为“汉仪中宋简、三号、居中”,缩进为“段前 0.5 行、段后 1 行”。 ( 2 )插入一个 7 列 14 行的表格。 ( 3 )合并第 1 行的第 6 列和第 7 列单元格、第 2 ~ 5 行的第 7 列单元格。 ( 4 )擦除第 8 行的第 2 列与第 3 列之间的中线表格框线。 ( 5 )将第 9 行和第 10 行单元格分别拆分为 2 列 1 行。 ( 6 )在表格中输入相关的文字,调整表格大小,使其显示的文字美观。

    【其它】听写单句

    【单选题】在 Windows 7 中,下列叙述中错误的是( )。

    【其它】听写对话

    【简答题】启动 Word 2010 ,按照下列要求对文档进行操作: ( 1 )新建空白文档,将其以“产品宣传单 . docx ” 为名进行保存,然后插入“背景图片 .jpg” 图片。 ( 2 )插入“填充 - 红色,强调文字颜色 2 ,粗糙棱台”效果的艺术字,然后转换艺术字的文字效果为“朝鲜鼓”,并调整艺术字的位置与大小。 ( 3 )插入文本框并输入文本,在其中设置文本的项目符号,然后设置形状填充为“无填充颜色”,形状轮廓为“无轮廓”,设置文本的艺术字样式并调整文本框位置。 ( 4 )插入“随机至结果流程”效果的 SmartArt 图形,设置图形的排列位置为“浮于文字上方”,在 SmartArt 中输入相应的文本,更改 SmartArt 样式的颜色和样式,并调整图形位置与大小。

    【单选题】以下选项中,不属于网络传输介质的是( )。

    【单选题】假设数据库中表A和表B建立了“一对多”关系,表B为多方,则下列叙述正确的是( )。 (10.0分)

    【单选题】下列关于计算机病毒的说法中,正确的是( )。

    【其它】听写单句

    【单选题】关于主键字不正确的是( )。 (10.0分)

    【单选题】单击窗口标题栏右侧的 按钮后,会( )。

    【单选题】计算机执行的程序占用内存过多时,可将部分硬盘空间划分出来充当内存使用,划分出来的内存叫做( )。

    【其它】打开网易网页的主页,进入体育频道,浏览其中的任意一条新闻。

    【单选题】不属于 TCP/IP 协议层次的是( )。

    【简答题】打开“产品说明书 . docx ” 文档,按照下列要求对文档进行操作: ( 1 )在标题行下插入文本,然后将文档中的相应位置的“饮水机”文本替换为“防爆饮水机”,再修改正文内容中的公司名称、公司名称和电话号码。 ( 2 )设置标题文本的字体格式为“黑体,二号”,段落对齐为“居中”,正文内容的字号为“四号”,段落缩进方式为“首行缩进”,再设置最后 3 行的段落对齐方式为“右对齐”。 ( 3 )为相应的文本内容设置编号“ 1. 2. 3.” 和“ 1 ) 2 ) 3 )”,在“安装说明”文本后设置编号时,可先设置编号“ 1. 2.” ,然后用格式刷复制编号“ 3. 4.” 。 ( 4 )选择“公司详细的地址和电话”文本,在“字体”组中单击“以不同颜色突出显示文本”按钮 右侧的下拉按钮 ,在打开的下拉列表中可选择“黑色”选项为字符设置底纹。

    【单选题】将各种数字信号转换成适合于在电话线等信道传输的模拟信号的过程,称为( )。

    【多选题】管理人员是企业中从事管理工作的员工,按职位高低可以划分为()?

    【单选题】下面叙述正确的是( )。 (10.0分)

    【单选题】以下各项中不能作为域名的是( )。

    【单选题】未来的 IP 协议是( )。

    【简答题】打开“员工手册 . docx ” 文档,按照下列要求对文档进行以下操作。 ( 1 )为文档插入“运动型”封面,在键入文档标题、公司名称、选取日期模块中输入相应的文本。 ( 2 )为整个文档应用“新闻纸”主题。 ( 3 )在文档中为每一章的章标题、“声明”文本、“附件:”文本应用样式“标题 1” 样式。 ( 4 )使用大纲视图显示两级大纲内容,然后退出大纲视图。 ( 5 )为文档中的图片插入题注,在文档中的“ 《 招聘员工申请表 》 和 《 职位说明书 》” 文本后面输入“请参阅”,然后创建一个交叉引用。 ( 6 )在第 3 章的电子邮箱后插入脚注,并在文档中插入尾注,用于输入公司地址和电话。

    【其它】听写对话

    【其它】听写对话

    【单选题】以下关于电子邮件的说法,不正确的是( )。

    【其它】将百度网页添加到收藏夹中。

    【多选题】以下网络中,属于广域网的是( )。

    【单选题】在确定数据管理应用系统中需要的表时,不正确的是( )。 (10.0分)

    【单选题】计算机的操作系统是( )。

    更多相关内容
  • Windows编程基础–第15节 MFC之复选框及单选按钮1. 新建项目新建一个基于对话框项目“day17”,布局如下,自行处理: 拖动三个check box和两个radio button到界面上,设置其ID如下: 控件名 控件ID 红色 IDC_...

    Windows编程基础–第15节 MFC之复选框及单选按钮

    1. 新建项目

    新建一个基于对话框项目“day17”,布局如下,自行处理:
    这里写图片描述

    拖动三个check box和两个radio button到界面上,设置其ID如下:

    控件名控件ID
    红色IDC_CHECK_RED
    绿色IDC_CHECK_GREEN
    蓝色IDC_CHECK_BLUE
    矩形IDC_RADIO_SQURAE
    圆形IDC_RADIO_CIRC

    执行“工具”->“tab键位置”,确保两个radio button的顺序是连续的,如下图:
    这里写图片描述
    这里写图片描述

    指定第一个radio button(矩形)的Group的值为true,如图:
    这里写图片描述

    2. 添加关联变量

    添加五个控件的变量,如图:
    这里写图片描述

        DDX_Control(pDX, IDC_CHECK_RED, m_chk_red);
        DDX_Control(pDX, IDC_CHECK_GREEN, m_chk_green);
        DDX_Control(pDX, IDC_CHECK_BLUE, m_chk_blue);
        DDX_Control(pDX, IDC_RADIO_SQURAE, m_rd_squ);
        DDX_Control(pDX, IDC_RADIO_CIRC, m_rd_circ);

    分别添加如上变量;

    3. 开始写代码吧

    现在我们来让程序运行起来时默认选中圆形;
    切换到解决方案视图,进入BOOL Cday17Dlg::OnInitDialog()方法:
    在末尾return前加入这一行:

        // TODO: 在此添加额外的初始化代码
        CheckRadioButton(IDC_RADIO_SQURAE,IDC_RADIO_CIRC,IDC_RADIO_CIRC);
    
        return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

    代码解释:

    在IDC_RADIO_SQURAE和IDC_RADIO_CIRC之间选中IDC_RADIO_CIRC

    添加五个控件的事件处理方法

    如图所示:
    这里写图片描述
    剩下四个都如上添加好;
    编辑“蓝色”按钮的点击方法:

    void Cday17Dlg::OnBnClickedCheckBlue()
    {
        // TODO: 在此添加控件通知处理程序代码
        Invalidate();
    }

    代码解释:

    Invalidate()让对话框重汇对话框;

    添加擦除背景消息(OnEraseBkgnd)事件

    如图添加OnEraseBkgnd消息处理函数:
    这里写图片描述
    编辑OnEraseBkgnd函数:

    BOOL Cday17Dlg::OnEraseBkgnd(CDC* pDC)
    {
        // TODO: 在此添加消息处理程序代码和/或调用默认值
        BOOL bRet = CDialogEx::OnEraseBkgnd(pDC);
        int nRed,nGreen,nBlue;
        nRed = m_chk_red.GetCheck() ? 255 : 0;
        nGreen = m_chk_green.GetCheck() ? 255 : 0;
        nBlue = m_chk_blue.GetCheck() ? 255 : 0;
    
        COLORREF crFore = RGB(nRed,nGreen,nBlue);
        CBrush brush;
        brush.CreateSolidBrush(crFore);
        CBrush *pOldBrush = pDC->SelectObject(&brush);
    
        RECT rc = {100, 40, 400, 340};
        if (m_rd_squ.GetCheck())
        {
            pDC->Rectangle(&rc);
        }
        else{
            pDC->Ellipse(&rc);
        }
        pDC->SelectObject(pOldBrush);
        return bRet;
    }

    代码解释:

    1. 根据颜色按钮的选择状态来选择颜色为255还是0;
    2. 用三个的颜色来创建一个画刷;
    3. 保留旧的画刷;
    4. 创建RECT 对象,即圆形的大小;
    5. 根据形状的radio button来选择化圆形还是矩形;
    6. 还原旧的画刷;

    实现其他按钮

    其他按钮就只用调用OnBnClickedCheckBlue()就可以了;

    最终效果图:

    这里写图片描述

    项目源码可以访问我的码云

    >>>我的私人博客<<<

    展开全文
  • 单选按钮(Radio Button)和复选框(Check Box)是常见的Windows控件,用于从给出的选项中选择一项或多项,如下图所示: 单选按钮是互斥的,只能选择其中一项;而复选框没有限制,可以选择一项或多项。 单选...
    单选按钮(Radio Button)和复选框(Check Box)是常见的Windows控件,用于从给出的选项中选择一项或多项,如下图所示:


    单选按钮是互斥的,只能选择其中一项;而复选框没有限制,可以选择一项或多项。

    单选按钮和复选框都是一种特殊的按钮,窗口类名称都是 button ,只不过增加了一些特殊的窗口样式罢了。单选按钮的样式为 BS_AUTORADIOBUTTON ,复选框的样式为 BS_AUTOCHECKBOX 。例如:
       
    1. //创建一个单选按钮
    2. CreateWindow(
    3. TEXT("button"), TEXT("单选按钮"),
    4. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON/*单选按钮*/,
    5. 235, 40, 100, 26,
    6. hWnd, (HMENU)7, hInst, NULL
    7. );
    8. //创建一个复选框
    9. CreateWindow(
    10. TEXT("button"), TEXT("复选框"),
    11. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTOCHECKBOX/*复选框*/,
    12. 95, 70, 50, 26,
    13. hWnd, (HMENU)9, hInst, NULL
    14. );

    如上图所示,单选按钮一般是分组的,一组单选按钮之间是互斥的,只能选择其中一个。一个窗口可以包含多组单选按钮。

    要想为单选按钮分组,可以增加 WS_GROUP 样式。设置了 WS_GROUP 样式的单选框为一组中的首元素,随后的所有单选按钮都和它在同一组,直到下一个设置了 WS_GROUP 样式的单选按钮。

    下面的代码,将实现上图中所示的单选按钮和复选框:
       
    1. //窗口过程
    2. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
    3. PAINTSTRUCT ps;
    4. HDC hdc;
    5. static HFONT hFont; //逻辑字体
    6. //一组单选按钮
    7. static HWND labSex; //静态文本框--性别
    8. static HWND radioMale; //单选按钮--男
    9. static HWND radioFemale; //单选按钮--女
    10. //一组单选按钮
    11. static HWND labMarriage; //静态文本框--婚姻状况
    12. static HWND radioMarried; //单选按钮--已婚
    13. static HWND radioSingle; //单选按钮--未婚
    14. static HWND radioSecrecy; //单选按钮--保密
    15. //一组复选框
    16. static HWND labPet; //静态文本框--你的宠物
    17. static HWND checkboxDog; //复选框--狗
    18. static HWND checkboxCat; //复选框--猫
    19. static HWND checkboxFish; //复选框--鱼
    20. static HWND checkboxOther; //复选框--其他
    21. switch (message){
    22. case WM_CREATE:
    23. hFont = CreateFont(
    24. -14, -7, 0, 0, 400,
    25. FALSE, FALSE, FALSE,DEFAULT_CHARSET,
    26. OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY,
    27. FF_DONTCARE, TEXT("微软雅黑")
    28. );
    29. //选择性别
    30. labSex = CreateWindow(
    31. TEXT("static"), TEXT("你的性别:"),
    32. WS_CHILD | WS_VISIBLE | SS_CENTERIMAGE | SS_RIGHT/*文字居右*/,
    33. 10, 10, 80, 26,
    34. hWnd, (HMENU)1, hInst, NULL
    35. );
    36. radioMale = CreateWindow(
    37. TEXT("button"), TEXT("男"),
    38. WS_CHILD | WS_VISIBLE | BS_LEFT/*文字居左*/ | BS_AUTORADIOBUTTON /*单选按钮*/ | WS_GROUP,
    39. 95, 10, 50, 26,
    40. hWnd, (HMENU)2, hInst, NULL
    41. );
    42. radioFemale = CreateWindow(
    43. TEXT("button"), TEXT("女"),
    44. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON,
    45. 150, 10, 50, 26,
    46. hWnd, (HMENU)2, hInst, NULL
    47. );
    48. //选择婚姻状况
    49. labMarriage = CreateWindow(
    50. TEXT("static"), TEXT("婚姻状况:"),
    51. WS_CHILD | WS_VISIBLE | SS_CENTERIMAGE | SS_RIGHT,
    52. 10, 40, 80, 26,
    53. hWnd, (HMENU)4, hInst, NULL
    54. );
    55. radioMarried = CreateWindow(
    56. TEXT("button"), TEXT("已婚"),
    57. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON | WS_GROUP,
    58. 95, 40, 65, 26,
    59. hWnd, (HMENU)5, hInst, NULL
    60. );
    61. radioSingle = CreateWindow(
    62. TEXT("button"), TEXT("未婚"),
    63. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON,
    64. 165, 40, 65, 26,
    65. hWnd, (HMENU)6, hInst, NULL
    66. );
    67. radioSecrecy = CreateWindow(
    68. TEXT("button"), TEXT("保密"),
    69. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON,
    70. 235, 40, 100, 26,
    71. hWnd, (HMENU)7, hInst, NULL
    72. );
    73. //你的宠物
    74. labPet = CreateWindow(
    75. TEXT("static"), TEXT("你的宠物:"),
    76. WS_CHILD | WS_VISIBLE | SS_CENTERIMAGE | SS_RIGHT,
    77. 10, 70, 80, 26,
    78. hWnd, (HMENU)8, hInst, NULL
    79. );
    80. checkboxDog = CreateWindow(
    81. TEXT("button"), TEXT("狗"),
    82. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTOCHECKBOX/*复选框*/,
    83. 95, 70, 50, 26,
    84. hWnd, (HMENU)9, hInst, NULL
    85. );
    86. checkboxCat = CreateWindow(
    87. TEXT("button"), TEXT("猫"),
    88. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTOCHECKBOX,
    89. 150, 70, 50, 26,
    90. hWnd, (HMENU)10, hInst, NULL
    91. );
    92. checkboxFish = CreateWindow(
    93. TEXT("button"), TEXT("鱼"),
    94. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTOCHECKBOX,
    95. 205, 70, 50, 26,
    96. hWnd, (HMENU)11, hInst, NULL
    97. );
    98. checkboxOther = CreateWindow(
    99. TEXT("button"), TEXT("其他"),
    100. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTOCHECKBOX,
    101. 260, 70, 65, 26,
    102. hWnd, (HMENU)11, hInst, NULL
    103. );
    104. SendMessage(labSex, WM_SETFONT, (WPARAM)hFont, NULL);
    105. SendMessage(radioMale, WM_SETFONT, (WPARAM)hFont, NULL);
    106. SendMessage(radioFemale, WM_SETFONT, (WPARAM)hFont, NULL);
    107. SendMessage(labMarriage, WM_SETFONT, (WPARAM)hFont, NULL);
    108. SendMessage(radioMarried, WM_SETFONT, (WPARAM)hFont, NULL);
    109. SendMessage(radioSingle, WM_SETFONT, (WPARAM)hFont, NULL);
    110. SendMessage(radioSecrecy, WM_SETFONT, (WPARAM)hFont, NULL);
    111. SendMessage(labPet, WM_SETFONT, (WPARAM)hFont, NULL);
    112. SendMessage(checkboxDog, WM_SETFONT, (WPARAM)hFont, NULL);
    113. SendMessage(checkboxCat, WM_SETFONT, (WPARAM)hFont, NULL);
    114. SendMessage(checkboxFish, WM_SETFONT, (WPARAM)hFont, NULL);
    115. SendMessage(checkboxOther, WM_SETFONT, (WPARAM)hFont, NULL);
    116. break;
    117. case WM_PAINT:
    118. hdc = BeginPaint(hWnd, &ps);
    119. // TODO: 在此添加任意绘图代码...
    120. EndPaint(hWnd, &ps);
    121. break;
    122. case WM_DESTROY:
    123. PostQuitMessage(0);
    124. break;
    125. default:
    126. return DefWindowProc(hWnd, message, wParam, lParam);
    127. }
    128. return 0;
    129. }

    分组框控件

    使用分组框控件(GroupBox)可以对单选按钮、复选框进行更好的分组,如下图所示:


    分组框控件也是一种特殊的按钮,它的样式为 BS_GROUPBOX ,例如:
       
    1. //创建分组框控件
    2. hGroupSex = CreateWindow(
    3. TEXT("button"), TEXT("你的性别"),
    4. WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
    5. 20, 20, 300, 70,
    6. hWnd, (HMENU)1, hInst, NULL
    7. );
    8. //接下来添加单选按钮
    9. hRadioMale = CreateWindow(
    10. TEXT("button"), TEXT("男"),
    11. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON /*单选按钮*/,
    12. 15, 30, 50, 26,
    13. hGroupSex /*父窗口为 GroupBox 控件*/, (HMENU)2, hInst, NULL
    14. );
    15. hRadioFemale = CreateWindow(
    16. TEXT("button"), TEXT("女"),
    17. WS_CHILD | WS_VISIBLE | BS_LEFT | BS_AUTORADIOBUTTON,
    18. 80, 30, 50, 26,
    19. hGroupSex, (HMENU)3, hInst, NULL
    20. );
    该代码将会创建上图中的第一组按钮。

    需要注意的是:单选按钮的父窗口为分组框控件 hGroupSex,而不是顶级窗口 hWnd。

    完整的示例代码较长,就不在这里展示了,请大家下载本节完整代码。

    本节代码完整版下载地址: http://pan.baidu.com/s/1jGImzSa   提取密码:ve1d
    展开全文
  • 其中按钮类button有多种类型和风格,常见的单选钮、复选钮、分组框也在此类中,见下表: 子窗口控件:按钮类button 按钮类型,可以是按钮风格与窗口风格的组合 窗口风格: WS_CHILD 子窗口,必须有 WS_VISIBLE ...

    Windows窗口程序设计中,按钮、文本编辑框等控件都作为一个子窗口在WM_CREATE事件中创建的。其中按钮类button有多种类型和风格,常见的单选钮、复选钮、分组框也在此类中,见下表:

    子窗口控件:按钮类button
    
    按钮类型,可以是按钮风格与窗口风格的组合
    
    窗口风格:
    WS_CHILD             子窗口,必须有
    WS_VISIBLE           窗口可见,一般都有
    WS_DISABLED          禁用窗口,创建初始状态为灰色不可用的按钮时使用
    WS_TABSTOP           可用Tab键选择
    WS_GROUP             成组,用于成组的单选按钮中的第一个按钮
    
    按钮风格:
    BS_PUSHBUTTON        下压式按钮,也即普通按钮
    BS_CHECKBOX          复选按钮,不常用
    BS_AUTOCHECKBOX      含自动选中状态的复选按钮
    BS_RADIOBUTTON       单选按钮,不常用
    BS_AUTORADIOBUTTON   含自动选中状态的单选按钮
    BS_3STATE            三态复选按钮,不常用
    BS_AUTO3STATE        含自动选中状态的三态复选按钮
    BS_GROUPBOX          分组框,用来放置单选或复选按钮的
    BS_OWNERDRAW         用于自定义形状的类型,比如画个圆形的按钮
    
    以上风格指定了创建的按钮类型,不能同时使用,但必须有其一
    其中非自动类型的按钮需要自己编程来实现选中与否的状态切换
    
    BS_BITMAP            按钮上将显示位图
    BS_DEFPUSHBUTTON     设置为默认按钮,只用于下压式按钮,一个对话框中只能指定一个默认按钮
    
    创建方法:
            HWND hwndButton;
            hwndButton = CreateWindow ( TEXT("button"),        /*子窗口类名称*/
                    TEXT("Command Button"),                    /*按钮上的文字*/
           			WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,     /*按钮类型*/
               		left, top, width, height,                  /*位置*/
                    hwnd,                                      /*父窗口句柄*/
                    (HMENU)IDcmdButton,                        /*按钮ID,一个自定义整型常量*/
                    ((LPCREATESTRUCT) lParam)->hInstance, NULL);
    
    		if (!hwndButton) MessageBox(NULL,"创建按钮失败","Message",MB_OK|MB_ICONERROR);
    		ShowWindow(hwndButton,SW_SHOW);
            UpdateWindow(hwndButton);
    
    

    再来用DEV-C++的windows application示例代码,创建这十种button类按钮。(代码获得方法见上一篇博文《C++ 用DEV-C++建一个Windows窗口程序带文本框和命令按钮》)

    先建一个结构数组,存放这些按钮类型常数:

    struct button {
    	int swStyle;
    	const char *szText;
    }
    Buttons[] = {
    	BS_PUSHBUTTON,		TEXT("普通按钮"),
    	BS_DEFPUSHBUTTON,	TEXT("默认按钮"),
    	BS_RADIOBUTTON,		TEXT("单选按钮"),
    	BS_CHECKBOX,		TEXT("复选按钮"),
    	BS_3STATE,			TEXT("三态按钮"),
    	BS_AUTORADIOBUTTON,	TEXT("自动单选按钮"),
    	BS_AUTOCHECKBOX,	TEXT("自动复选按钮"),
    	BS_AUTO3STATE,		TEXT("自动三态按钮"),
    	BS_GROUPBOX,		TEXT("按钮分组框"),
    	BS_OWNERDRAW,		TEXT("自画类型按钮")
    };
    

    然后在WM_CREATE事件中遍历数组创建全部按钮,在WM_COMMAND事件中写入鼠标单击响应代码就完成了:

    #include <windows.h>
    
    struct button {
    	int swStyle;
    	const char *szText;
    }
    Buttons[] = {
    	BS_PUSHBUTTON,		TEXT("普通按钮"),
    	BS_DEFPUSHBUTTON,	TEXT("默认按钮"),
    	BS_RADIOBUTTON,		TEXT("单选按钮"),
    	BS_CHECKBOX,		TEXT("复选按钮"),
    	BS_3STATE,			TEXT("三态按钮"),
    	BS_AUTORADIOBUTTON,	TEXT("自动单选按钮"),
    	BS_AUTOCHECKBOX,	TEXT("自动复选按钮"),
    	BS_AUTO3STATE,		TEXT("自动三态按钮"),
    	BS_GROUPBOX,		TEXT("按钮分组框"),
    	BS_OWNERDRAW,		TEXT("自画类型按钮")
    };
    
    /* This is where all the input to the window goes to */
    LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
    {
    	int num = sizeof Buttons / sizeof Buttons[0];
    	switch(Message) {
    		//在 WM_CREATE 事件中创建所有按钮类型 
    		case WM_CREATE: {
    			for (int i = 0; i < num; i++) {
    				CreateWindow( TEXT("button"),
    				Buttons[i].szText,
    				WS_CHILD | WS_VISIBLE | WS_TABSTOP | Buttons[i].swStyle,
    				80 + (i >= num / 2 ? 240 : 0),
    				60 + i * 50 - (i >= num / 2 ? 250 : 0),
    				160, 40,
    				hwnd,
    				(HMENU)i,
    				((LPCREATESTRUCT) lParam)->hInstance,
    				NULL);
    			}
    			break;
    		}
    		
    		//在 WM_COMMAND 事件中会响应button类的鼠标单击,但其中GROUPBOX不响应操作
    		case WM_COMMAND: {
    			MessageBox(NULL, Buttons[LOWORD(wParam)].szText, "Button_Click()", MB_OK);
    			break;
    		}
    				
    		/* Upon destruction, tell the main thread to stop */
    		case WM_DESTROY: {
    			PostQuitMessage(0);
    			break;
    		}
    		
    		/* All other messages (a lot of them) are processed using default procedures */
    		default:
    			return DefWindowProc(hwnd, Message, wParam, lParam);
    	}
    	return 0;
    }
     
    /* The 'main' function of Win32 GUI programs: this is where execution starts */
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
    	WNDCLASSEX wc; /* A properties struct of our window */
    	HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */
    	MSG msg; /* A temporary location for all messages */
     
    	/* zero out the struct and set the stuff we want to modify */
    	memset(&wc,0,sizeof(wc));
    	wc.cbSize		 = sizeof(WNDCLASSEX);
    	wc.lpfnWndProc	 = WndProc; /* This is where we will send messages to */
    	wc.hInstance	 = hInstance;
    	wc.hCursor		 = LoadCursor(NULL, IDC_ARROW);
    	
    	/* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */
    	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    	wc.lpszClassName = "WindowClass";
    	wc.hIcon		 = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */
    	wc.hIconSm		 = LoadIcon(NULL, IDI_APPLICATION); /* use the name "A" to use the project icon */
     
    	if(!RegisterClassEx(&wc)) {
    		MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
    		return 0;
    	}
     
    	hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Button Style",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT, /* x */
    		CW_USEDEFAULT, /* y */
    		640, /* width */
    		480, /* height */
    		NULL,NULL,hInstance,NULL);
     
    	if(hwnd == NULL) {
    		MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
    		return 0;
    	}
     
    	/*
    		This is the heart of our program where all input is processed and 
    		sent to WndProc. Note that GetMessage blocks code flow until it receives something, so
    		this loop will not produce unreasonably high CPU usage
    	*/
    	while(GetMessage(&msg, NULL, 0, 0) > 0) { /* If no error is received... */
    		TranslateMessage(&msg); /* Translate key codes to chars if present */
    		DispatchMessage(&msg); /* Send it to WndProc */
    	}
    	return msg.wParam;
    }

    运行效果图:

    展开全文
  • 实验2 Windows操作系统 一、实验目的 1.掌握Windows的基本操作。 2.掌握文件管理和磁盘操作。 3.掌握控制面板的基本设置。 4.熟悉汉字输入法的使用。 5.了解Windows常用系统工具的使用。 二、实验环境 1.硬件环境:...
  • WINDOWS-7操作系统习题全文共4页,当前为第1页。WINDOWS-7操作系统习题全文共4页,当前为第1页。WINDOWS 7操作系统习题 WINDOWS-7操作系统习题全文共4页,当前为第1页。 WINDOWS-7操作系统习题全文共4页,当前为第1...
  • WINDOWS 7 ˇ˝ ˇ 1¡¢ Windows7 ˇ˝ ¨ »œ˜ ˚˙£¤£' A.¸—— Windows7 ˚–– »œ B. –¸ø—¸—— —£ ¡æ¡¿"»œ¡–¡"¡" >¡ »œ¡–ˆ` C.ˇ¨˝¸ DOS ˇ˝ £ –· D. –¸ø—¨˛˛æ...
  • (完整版)WINDOWS7操作系统习题全文共7页,当前为第1页。(完整版)WINDOWS7操作系统习题全文共7页,当前为第1页。WINDOWS 7操作系统习题 (完整版)WINDOWS7操作系统习题全文共7页,当前为第1页。 (完整版)WINDOWS7操作...
  • windows程序设计复习材料
  • 山东专升本计算机Windows知识点总结.doc
  • Windows程序设计复习资料
  • Windows-Vista基础与应用精品教程》003.ppt
  • 第01章-电脑与Windows-7使用常识ppt课件(全).ppt
  • 实训3windowsXP控制面板及常用工具的使用实用.pdf
  • 在读本篇内容之前建议先从QT使用教程(一)(二)(三)读起,初体验1:Qt Creator界面认识启动 Qt ...上图是在左侧主工具栏单击“Welcome(欢迎)”按钮后显示Projects的界面。我们可以在这新建工程,编写代码等等,稍后会...
  • Windows 常用快捷键大全 熟练掌握运用快捷键将会大大提升操作效率,本文整理了 Windows常用热键。 [推荐阅读《详细键盘布局介绍及各功能按键说明》:https://www.cnblogs.com/netlog/p/16033499.html] ## 1 轻松访问...
  • BS_3STATE 与复选框一样本样式按钮可被单击变暗。变暗状态通常用于指示本样式的按键正处于禁用状态。 BS_AUTO3STATE 与三状态的复选框一样当用户选中它本按钮样式状态外观会改变。 BS_AUTOCHECKBOX 与复选框一样...
  • buttonST 按钮

    千次阅读 2016-11-21 14:29:28
    BS_3STATE 与复选框一样本样式按钮可被单击变暗。变暗状态通常用于指示本样式的按键正处于禁用状态。  BS_AUTO3STATE 与三状态的复选框一样当用户选中它本按钮样式状态外观会改变。  BS_AUT
  • Windows 10 64bit Anaconda3 with python 3.7 PyCharm 2020.1 简介 在任何GUI设计中,按钮都是最重要的触发请求动作的方式,用来与用户进行交互操作。在PyQt5中按钮的基类是QAbstractButton,它提供了按钮的通用...
  • 文章目录一、基于对话框的程序二、“逃跑”的按钮三、属性表单和向导的创建3.1 创建属性页 一、基于对话框的程序 新建一个基于对话框的项目,项目名称:DlgTest。 生成的项目结构为: 解决方案结构: 类视图下有三...
  • Windows API (包含了所有Windows API)

    千次阅读 2016-02-18 21:57:46
    Windows API (包含了所有Windows API)Api函数名 函数说明 WIN16可用 WIN95可用 WINNT可用-------------------------------------------------------------------------
  • Windows快捷键总汇(来自官方)

    万次阅读 多人点赞 2018-04-24 10:20:21
    Windows 10 键盘快捷方式就是按键或按键组合,可提供一种替代方式来执行通常使用鼠标执行的操作。其他键盘快捷方式应用中的键盘快捷方式用于辅助功能的 Windows 键盘快捷方式Microsoft Surface Hub 键盘快捷方式...
  • We’ve previously covered customizing Windows Explorer’s context menus by adding custom shortcuts and removing existing shortcuts with the Registry Editor. FileMenu Tools is an easy-to-use, graphical...
  • Windows的基本操作1.Windows概述微机上的操作系统经历了DOS、Windows的发展过程。Windows以统一的图形化工作界面和操作方式取代了DOS操作系统下的文本界面、命令行操作方式。从Windows 95、Windows 98、Windows 2000...
  • windows10快捷键

    2019-07-13 22:16:14
    空格键 如果活动选项是复选框,则选中或清除该复选框 箭头键 如果活动选项是一组选项按钮,则选择某个按钮 F1 显示帮助 F4 显示活动列表中的项目 Backspace 如果在“另存为”或“打开”对话框中选中了某个文件夹...
  • 零件状态演示版纽扣可用的卡可用的复选框可用的筹码可用的数据表可用的对话可用的抽屉可用的海拔可用的晶圆厂可用的形式域可用的图标可用的图标按钮可用的图片清单可用的线性进展可用的清单可用的菜单表面可用的菜单...
  • 复选框 组合框和列表框 超链接 单选按钮 评分控件 滑块 切换开关 集合 概述 列表视图和网格视图 翻转视图 PipsPager 树视图 ItemsRepeater 项目容器和模板 项目容器和模板 数据模板选择 列表视图项模板 网格视图项...
  • 您现在可以将一个图像缩略图或其中几个(如果标有复选标记)拖到 Windows 桌面或资源管理器文件夹中。将缩略图放在那里后,图像将作为 PNG 或 JPEG 文件保存在该文件夹中。您也可以将它们拖放到其他接受文件的目标,...
  • 第一部分:Windows10系统快捷键 复制、粘贴和其他常规快捷键 Windows徽标键快捷键 命令提示符快捷键 对话框快捷键 文件资源管理器快捷键 虚拟桌面快捷键 任务栏快捷键 《设置》快捷键 第二部分:Windows10...
  • windowsXP操作系统.PPT

    2011-02-16 06:29:19
    windowsXP 操作系统.操作系统简单介绍,原理。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,865
精华内容 1,546
关键字:

windows复选按钮形状