zoukankan      html  css  js  c++  java
  • api (二) 创建控件 (转)

    在Win32 SDK环境下,怎么来创建常用的那些基本控件呢?我们知道如果用MFC,简单的拖放即可完成大多数控件的创建,但是我们既然是用Windows SDK API编程,当然是从根上解决这个问题,实际上MFC的下层也是通过这些API完成的。

    实际上控件也是窗口,只不过是被微软预先创建好的一种窗口类,比如button就是一个类名为“BUTTON”的类。既然控件实际上是窗口,当然也是用CreateWindow或者CreateWindowEx这个函数来完成的,第二个函数除了多一个扩展风格之外,其他完全一样,下面以主要以CreateWindow为例说明,该函数原型如下(实际上在第一篇已经讲过了):

    lpClassName:控件的类名

    lpWindowName:控件的名字或者文本

    dwStyle:控件风格

    x,y,nWidth,nHeight:控件的坐标和宽高

    hWndParent:控件的父窗口

    hMenu:控件的ID

    hInstance:控件设置为空

    lpParam:控件设为空

    那么具体怎么实现各个基本的控件呢?下面我们来先依次举例。

    • 创建标签/静态文本
    •  创建button
    •  创建编辑框
    •  创建Groupbox
    •  创建单选框
    •  创建复选框
    •  创建列表框
    •  创建组合框
    •  创建滚动条

    以上创建各个控件都很差傻瓜化,你可以复制下来改改坐标、文本、风格、ID等就可以按照你的需要创建了。

    下面我们就来实战一下,把这些常用的控件在程序中实现,下面我们来实现一个完整的windows程序,程序中包含了这些常用的控件和更多的用法。

    /* 常用控件实例 */

    编译一下运行,结果如下:

    【Windows编程】系列第二篇:Windows SDK创建基本控件

    怎么样,是不是很简单,虽然我们的控件创建比MFC麻烦一下,但是我们是从“根”上来解决问题的,感觉是不一样的!有了这些基本的用法,你就可以构建更加复制的Windows界面了。赶快去试试吧。

    转载 :http://www.coderonline.net/?p=680

  • 相关阅读:
    Linux常用命令
    Linux静态函数库与动态函数库
    解决MySQL5.7的表无法插入中文的问题
    MySQL与postgreSQL在left join查询时的区别
    《刻意练习》读书笔记
    在Golang中实现与Python装饰器类似功能的方法
    项目中使用进程内缓存的一些经验及注意事项
    Golang中使用recover捕获panic的操作及遇到的一个坑
    Python与Golang中给列表中字典按照某个key排序的实现
    浅谈Python与Golang中的“延迟绑定机制”
  • 原文地址:https://www.cnblogs.com/yangjig/p/6028494.html
Copyright © 2011-2022 走看看