下面来介绍控件,这些是界面编程的重点:

从最简单也是最普遍使用的按钮控件讲起:

按钮控件(button):

 实现1:利用对话框编辑器拖放按钮:

Vs或者vc的对话框编辑器可以实现所有你想要的控件,只要拖放就可以显示。

在拖放成功后(按钮样式可以在属性里设置),编译器会为按钮分配一个ID用于标识,你也可以更改ID名称,然后执行以下动作响应用户点击(假设按钮ID为ID_MYBUTTON):

WM_COMMAND://命令消息

{

         switch(LOWORD(wParam):

{

            case ID_MYBUTTON:

            {

                     //在这里执行你想要的一切动作

            }

}

 

}

实现2:代码实现按钮控件

struct

{

 

int        iStyle ;

TCHAR *   szText ;

}

 

button[] =

{

BS_PUSHBUTTON,        TEXT ("载入图片"),

BS_PUSHBUTTON,        TEXT ("载入图形"),

};

#define NUM (sizeof button / sizeof button[0])

static HWND   hwndButton[NUM]

static int    cxChar, cyChar ;

cxChar = LOWORD (GetDialogBaseUnits ()) ;

cyChar = HIWORD (GetDialogBaseUnits ()) ;

上面的LOWORD 和HIWORD 都是宏,分别代表低字段和高字段,因为GetDialogBaseUnits 返回的是一个32位的含有对话基本单位的值。返回值的低位字含有水平对话框基本单位,且高位字含有垂直对话框基本单位。以上代码是获取字体的横/纵坐标:返回值是一个8位16进制数,高4位存放字体的高度,低4位存放字体的宽度

 

for (int j = 0 ; j < NUM ; j++)

{

hwndButton[j] =CreateWindow ( TEXT("button"),button[j].szText,

WS_CHILD | WS_VISIBLE | button[j].iStyle,

cxChar*(15*j), cyChar-15,

15* cxChar, 7*cyChar/4,

hWnd, (HMENU) j,

((LPCREATESTRUCT) lParam)->hInstance, NULL) ;

}

for (int j = 0 ; j < NUM ; j++)

{

ShowWindow(hwndButton[j],TRUE);

}

GUI 剖析之 控件篇1)按钮控件相关推荐

  1. 一起撸个朋友圈吧(step5) - 控件篇【评论控件优化】

    项目地址:github.com/razerdp/Fri- 上篇链接:http://www.jianshu.com/p/4cc3f9c8a713 下篇链接:http://www.jianshu.com/ ...

  2. 基于VS2017的工程用途按钮控件,开关按钮控件,图形按钮控件

    分享一个基于VS2017的工控按钮DLL,以方便开发工控软件的朋友做出漂亮的界面. 控件属性可以选择按钮的形状(style1–style6),以及开关状态的显示文字(onlable或者offlabel ...

  3. C#窗体控件-按钮控件Button

    按钮(Button)控件几乎存在于所有Windows对话框中,是Windows应用程序中最常用的控件之一.按钮控件允许用户通过单击来执行操作.按钮最重要的事件,也是最常用的事件就是Click.当用户单 ...

  4. QT上设置背景图不影响子控件以及按钮控件的透明化

    QT中设置背景图不影响子控件 QT中设置背景图的方法不少,我这里是直接使用stylesheet来设置背景图.如果直接在UI界面进行如下所示设置 border-image: url(:/resource ...

  5. qt建立一个按钮控件

    1.如果建立一个按钮控件 2.指定按钮控件的父对象 3.指定按钮控件的位置 4.设置按钮控件的大小 1.如果建立一个空间按钮 在头文件加上:#include<QPushButton>.(记 ...

  6. qt 关闭窗口的槽函数_勇哥的VC++应用框架学习之QT(1) 信号槽、按钮控件、opencv读取显示图片...

    前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验. 在写程序时,UI.基础类库.应用程序框架对于vc来讲,只能依靠MFC和QT了. 勇哥对MFC有很强的抵触, ...

  7. Unity编辑器扩展 UI控件篇

    前摇 :认识编辑器扩展的必要性 由于各种各样的原因,无论是移动端亦或是主机/PC端,进几年的发行的游戏体量是越来越大.通常来说大体量的游戏开发需要一套很成熟完善的工作流,亦或说有很强的工业化的能力,像 ...

  8. 【DND图形库】五、按钮控件与音效

    五.按钮控件与音效 (甲)按钮控件 在DND.h里能看到有哪些控件,基本上都以静态工厂模式创建: ///GUI/// #include "DNDGUI.h" //GUI 控件基类 ...

  9. qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...

    QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类. 窗口坐标系统 PyQt使用统一的坐标系统来定位窗口控件的位置和 ...

最新文章

  1. Oracle 共享磁盘阵列 双机热备 实战 配置教程 配置手册
  2. Arduino 控制舵机
  3. linux系统时区设置
  4. 2017年10月18日普及组 文件名排序
  5. boost::synchronized_value相关的测试程序
  6. win2008一键配置php mysql_Windows 2008一键安装包配置环境:Windows+IIS+Php+Mysql
  7. java parseint()
  8. 互联网日报 | 1月18日 星期一 | 北京超10万滴滴司机预约接种疫苗;李子柒入驻饿了么;蔚来计划2021年在海外实现销售...
  9. ado jet 反复连接 未指定的错误_为什么驱动器的PE端要和变压器中性点有可靠连接?...
  10. matlab 曲线拟合--视频编码中PSNR计算及码率计算
  11. linux下已修改但尚未保存_linux下查看和修改文件时间
  12. TopJui 我踩的那些坑
  13. 运筹学_化标准型_week2
  14. 机动车车牌分类及命名规则总结
  15. 百度AI开放平台—简单步骤介绍(多图警告)
  16. 用Java输出高频词_编程高阶用法--开发者高频词汇
  17. Java 埃拉托色尼筛选法
  18. 为何一个简单的测试类H5却要花费我2天时间才完成?
  19. 京东研发团队 - 领域驱动设计(DDD)实践
  20. QQ邮箱添加企业邮箱与企业邮箱添加QQ邮箱

热门文章

  1. PyQt5 按钮QSS美化集
  2. 30岁生日,媳妇赏的,U-BOAT手表一枚-数字尾巴
  3. 整个项目流程中测试团队究竟该做哪些事情和承担了一个怎样的角色?
  4. php开发工程师名片,PHP编程:利用PHP自动生成印有用户信息的名片
  5. 伺服电机的几种制动方式
  6. 最新微信小程序反编译方法
  7. java程序员的大数据之路(12):Hadoop的守护进程
  8. 10年IT老兵给职场新人的一些建议
  9. CISP-PTE2021最新考试经验
  10. 当webrtc遇上_ITERATOR_DEBUG_LEVEL