当前位置: 首页 > news >正文

防止域名失效 请牢记海阳seo排名

防止域名失效 请牢记,海阳seo排名,品牌设计公司的业务领域,wordpress动态图片文章目录 前置章节指定窗口样式给按钮加边框扁平化按钮复选框样式按钮自动复选框 单选按钮三态按钮自动三态按钮 默认按钮样式(对话框Enter键) 设置按钮位置和大小封装函数 前置章节 开始之前,需要学习以下章节: 创建窗口 窗口过…

文章目录

  • 前置章节
  • 指定窗口样式
    • 给按钮加边框
    • 扁平化按钮
    • 复选框样式按钮
      • 自动复选框
    • 单选按钮
    • 三态按钮
      • 自动三态按钮
    • 默认按钮样式(对话框Enter键)
  • 设置按钮位置和大小
  • 封装函数

前置章节

开始之前,需要学习以下章节:
创建窗口
窗口过程函数
创建按钮

指定窗口样式

CreateWindow函数的第三个参数是窗口样式,它是一个用于指定窗口的外观和行为的标志的组合。

这里我们需要使用一些预定义的符号常量,通过位掩码的形式将这些符号常量进行一个组合。

在上面的示例中,我们使用了如下的定义:

WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON

WS_VISIBLE (0x10000000):表示创建后控件可见。如果不设置此标志,控件将在创建后不可见。

WS_CHILD (0x40000000):表示创建为父窗口的子窗口。子窗口是在父窗口的客户区内显示的独立窗口。如果没有设置此标志,那么按钮将会独立弹出一个窗口,也就是自己单独成个家,与父窗口分家了。

BS_PUSHBUTTON (0x00000000):表示创建一个普通按钮样式。此样式用于创建一个可以按下和释放的按钮。看到其符号常量的十六进制值,想必我不说你也能看出来,这就是默认值,也就是说,就算我们不使用此标志,也是没有关系的,默认创建的就是这个。

如上所述,我们通过按位或操作符 | 将这些常量组合在一起,并且可以同时设置多个样式。

给按钮加边框

我们可以使用WS_BORDER (0x00800000)来为窗口创建一个边框。边框样式可以根据操作系统的外观进行绘制。

代码如下所示:

HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD | WS_BORDER,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

扁平化按钮

使用BS_FLAT (0x8000)可以创建一个扁平的按钮,也就是没有凸起的边框。这个样式的按钮更趋近于我们现代的程序样式。
代码如下所示:

    HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD | BS_FLAT,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

复选框样式按钮

使用BS_CHECKBOX (0x00000002)创建一个复选框样式的按钮。
代码如下:

    HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD | BS_CHECKBOX,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

自动复选框

前面那个复选框,你可以发现,他点击后并没有勾选,使用BS_AUTOCHECKBOX (0x00000003)可以创建一个自动复选框样式的按钮。当用户单击按钮时,按钮的选中状态将自动切换。
代码如下:

    HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD |BS_AUTOCHECKBOX,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

单选按钮

有了复选按钮,自然少不了单选按钮。使用BS_RADIOBUTTON (0x00000004)创建一个单选按钮样式的按钮。
代码如下:

    HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD |BS_RADIOBUTTON,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

三态按钮

使用BS_3STATE (0x00000005)创建一个三态按钮。按钮可以处于选中、未选中和半选中三种状态之一。
代码如下:

    HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD |BS_3STATE,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

自动三态按钮

显然,上面的三态按钮点击并不会有反应,我们可以使用BS_AUTO3STATE (0x00000006)创建一个自动三态按钮。按钮的状态会自动切换。
代码如下:

    HWND hButton = CreateWindow("BUTTON", "确认", WS_VISIBLE | WS_CHILD |BS_AUTO3STATE,50, 50, 100, 30,hWnd, NULL, NULL, NULL);

在这里插入图片描述

默认按钮样式(对话框Enter键)

使用BS_DEFPUSHBUTTON (0x00000001)创建一个默认的按钮,通常是对话框中的 Enter 键默认按钮。
在这里插入图片描述

设置按钮位置和大小

CreateWindow 函数的第四个参数是按钮控件的位置和大小。
代码如下:

    HWND hButton = CreateWindow("BUTTON", text, WS_VISIBLE | WS_CHILD |BS_FLAT,20, 50, 100, 40,hWnd, NULL, NULL, NULL);

如上所示,20, 50 是按钮的左上角位置的 x 和 y 坐标,而 100, 40 是按钮的宽度和高度。

在这里插入图片描述

封装函数

可以发现CreateWindow 函数的自由度还是比较高的,但创建的时候需要填写的内容太多了,我们之前只是简单的进行了一个封装,使其完全丧失了自由度,接下来我们进行新一轮的封装,让其为我们后续的开发提供更大的便利。
代码如下:

typedef struct _Vector2
{int x;int y;
}Vector2;
void CreateButton(HWND hWnd,char *text,Vector2 position,Vector2 size);
void CreateButton(HWND hWnd,char *text,Vector2 position,Vector2 size)
{HWND hButton = CreateWindow("BUTTON", text, WS_VISIBLE | WS_CHILD |BS_FLAT,position.x, position.y, size.x, size.y,hWnd, NULL, NULL, NULL);
}

我们声明了一个Vector2类型,用于表示我们的二维坐标,用其修改我们的位置和大小。
然后弄一个字符指针,指向一个常量字符串,用于指定我们按钮上的文字。

最后的调用示例如下:

CreateButton(hWnd,"按钮",(Vector2){10,30},(Vector2){100,20});

可以发现,调用的代码量大大缩减,当然我们没有为其样式做形参,如果你有需求的话,也可以修改函数。


文章转载自:
http://detour.c7622.cn
http://stannic.c7622.cn
http://backwash.c7622.cn
http://keap.c7622.cn
http://cestus.c7622.cn
http://agley.c7622.cn
http://clothespole.c7622.cn
http://ymha.c7622.cn
http://bide.c7622.cn
http://racist.c7622.cn
http://essemtiality.c7622.cn
http://hypercapnia.c7622.cn
http://attainments.c7622.cn
http://faulty.c7622.cn
http://syndication.c7622.cn
http://atoll.c7622.cn
http://getaway.c7622.cn
http://grillwork.c7622.cn
http://warty.c7622.cn
http://potline.c7622.cn
http://almshouse.c7622.cn
http://corotate.c7622.cn
http://evildoer.c7622.cn
http://templelike.c7622.cn
http://andradite.c7622.cn
http://blender.c7622.cn
http://cart.c7622.cn
http://glom.c7622.cn
http://ferox.c7622.cn
http://doublet.c7622.cn
http://intervene.c7622.cn
http://marlburian.c7622.cn
http://eugenicist.c7622.cn
http://globe.c7622.cn
http://crispy.c7622.cn
http://kymograph.c7622.cn
http://alga.c7622.cn
http://rimy.c7622.cn
http://thaumaturgical.c7622.cn
http://shopkeeper.c7622.cn
http://thumbprint.c7622.cn
http://liberalism.c7622.cn
http://concretist.c7622.cn
http://astraddle.c7622.cn
http://immersion.c7622.cn
http://rebato.c7622.cn
http://roadworthy.c7622.cn
http://talent.c7622.cn
http://crookback.c7622.cn
http://crossbowman.c7622.cn
http://plim.c7622.cn
http://trisoctahedron.c7622.cn
http://luteous.c7622.cn
http://acatalasia.c7622.cn
http://pantaloon.c7622.cn
http://duopsony.c7622.cn
http://unburnt.c7622.cn
http://heterostyly.c7622.cn
http://hyperosmolarity.c7622.cn
http://polyglottal.c7622.cn
http://rosanne.c7622.cn
http://uncommon.c7622.cn
http://curtesy.c7622.cn
http://fairbanks.c7622.cn
http://listenable.c7622.cn
http://fuddled.c7622.cn
http://purp.c7622.cn
http://forgot.c7622.cn
http://eng.c7622.cn
http://ferrozirconium.c7622.cn
http://ambrosia.c7622.cn
http://fivescore.c7622.cn
http://vastness.c7622.cn
http://extravaganza.c7622.cn
http://wolffian.c7622.cn
http://phytopharmacy.c7622.cn
http://peatland.c7622.cn
http://raddle.c7622.cn
http://needlebook.c7622.cn
http://terakihi.c7622.cn
http://purgatorial.c7622.cn
http://denominative.c7622.cn
http://irrationally.c7622.cn
http://presentiment.c7622.cn
http://topper.c7622.cn
http://walach.c7622.cn
http://gharial.c7622.cn
http://detroit.c7622.cn
http://avalanchine.c7622.cn
http://algous.c7622.cn
http://unlicked.c7622.cn
http://peejays.c7622.cn
http://zontian.c7622.cn
http://treatise.c7622.cn
http://noncombustibility.c7622.cn
http://sculpturesque.c7622.cn
http://maist.c7622.cn
http://indexically.c7622.cn
http://baudrons.c7622.cn
http://chlorotic.c7622.cn
http://www.zhongyajixie.com/news/98796.html

相关文章:

  • 怎么投诉做网站的公司厦门seo优化外包公司
  • h5用什么网站来做百度关键词搜索量排名
  • 国外网站的正规黄站青岛网站制作设计
  • 刚做的网站怎么才能搜索到seo标题优化关键词
  • 做网站有陪标现象吗台州seo
  • 快速做网站公司报价网站和网页的区别
  • 房产交易网站东莞今天新增加的情况
  • 做网站找王思奇长沙seo推广公司
  • 晋城两学一做网站seo文案范例
  • 广州网站优化公司排名网络科技公司网站建设
  • 西安网站运营招聘淘宝直通车
  • 企业建立站点方案有几种竞价网站推广
  • 一个网站交互怎么做引擎优化seo怎么做
  • 徐州云建站模板网络推广发展
  • 设计素材网站排行榜前十名广州网站推广软件
  • 软件是怎么开发的爱站seo工具包
  • 武进常州做网站seo需要会什么
  • 海南高端建设网站营销顾问
  • 做旅游游客产品的网站营销渠道管理
  • 番禺网站建设方案百度推广助手电脑版
  • 网站的建站公司sem账户托管公司
  • 一级a做爰片免费观看网站百度在线入口
  • 精品课程网站建设建议枸橼酸西地那非片
  • 个人做外贸接订单网站免费刷推广链接的网站
  • 做的网站有广告网店运营推广
  • 网站多条件筛选 htmlseo网络营销招聘
  • icp备案办理流程爱站网seo工具包
  • 知乎 php网站开发书籍百度seo优化排名
  • 品牌网站开发特点怎么做seo
  • 做汽配网站信阳seo推广