Windows编程系列——第二讲:创建窗口(上)

Windows编程系列——第二讲:基本概念窗口上一节我们创建了一个Windows桌面应用程序。这个程序可以直接编译运行,运行后如图:这就是Windows最基本的元素——窗口。下面介绍它的基本元素: 首先,窗口最外侧是边框;最上方是标题栏;标题栏的左侧是图标,紧挨着是标题(就是图片中的”WindowsProject1”);标题栏右侧依次是最小化按钮、最大化按钮、关闭按钮;标题栏的下方是...
摘要由CSDN通过智能技术生成

上一讲:Windows编程系列——第一讲:预备知识


Windows编程系列——第二讲:创建窗口(上)

1.窗口

上一节我们创建了一个Windows桌面应用程序。这个程序可以直接编译运行,运行后如图:这里写图片描述

这就是Windows最基本的元素——窗口。下面介绍它的基本元素:
        首先,窗口最外侧是边框;最上方是标题栏;标题栏的左侧是图标,紧挨着是标题(就是图片中的”WindowsProject1”);标题栏右侧依次是最小化按钮、最大化按钮、关闭按钮;标题栏的下方是菜单,准确的说是”下拉菜单”。中间很大的空白区域就是客户区

        可以说,对话框、复选框、滚动条、文本框都是各种各样的窗口,或者更准确的说,是”子窗口”、”控件窗口”或”子窗口控件”。


        接下来,我们对照代码,解释代码的含义

2.入口函数

        初学C/C++我们知道,main()函数是程序的入口;而在编写Windows应用程序时,要求入口函数名是WinMain,对应的Unicode则是wWinMain,如下:

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
                     _In_opt_ HINSTANCE hPrevInstance,
                     _In_ LPWSTR    lpCmdLine,
                     _In_ int       nCmdShow)

这就是入口函数。
        你可能会问,wWinMain前面有一个修饰APIENTRY是什么东西?我们可以在系统头文件windef.h中找到它的定义,它和后面马上会出现的

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows编程中,button(按钮)是系统内置的窗口子类型之一。按钮是一种常用的用户界面元素,通常用于触发操作或执行某些任务。 在Windows API中,可以使用CreateWindow函数创建一个按钮窗口。以下是创建按钮窗口的示例代码: ```c++ HWND hWndButton = CreateWindow( L"BUTTON", // 窗口类名 L"Click me", // 窗口标题 WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, // 窗口风格 10, 10, // 窗口位置 100, 30, // 窗口大小 hWndParent, // 父窗口句柄 (HMENU)ID_BUTTON, // 控件标识符 hInstance, // 应用程序实例句柄 NULL // 指向窗口创建参数的指针 ); ``` 上述代码中,第一个参数指定了窗口类名为“BUTTON”,表示创建一个按钮窗口第二个参数是窗口标题,这里设置为“Click me”。第三个参数指定了窗口的风格,这里使用了WS_VISIBLE和WS_CHILD风格,表示按钮可见并且是父窗口的子窗口。BS_PUSHBUTTON表示创建一个普通的按钮,还可以使用其他风格创建不同类型的按钮。接下来的四个参数分别是窗口的位置和大小。第七个参数是父窗口的句柄,表示将按钮添加到父窗口中。第八个参数是控件标识符,用于在程序中标识该按钮。最后两个参数分别是应用程序实例句柄和窗口创建参数。 除了使用CreateWindow函数创建按钮窗口,还可以使用DialogBox函数创建对话框,其中包含多个按钮控件。可以使用CreateWindowEx函数创建更多类型的窗口子类型,例如复选框、单选按钮、组合框等。在Windows编程中,不同类型的窗口子类型都有各自的风格和消息处理函数,需要根据实际需求选择合适的窗口子类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值