初级 Windows API C++语言版 编程(3)

天马行空应终远

天马行空应终远

2016-02-19 15:18

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享初级 Windows API C++语言版 编程(3),希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

  由于上一章的文章中我没有向大家介绍清楚初试化的具体实现,造成很多的读者无法很好的理解,这是我的失误。本人现在补上,请大家原谅。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  一个Windows API程序的初始化主要分为为四个部分。1、窗口类的定义2、窗口类的注册3、创建窗口实例4、显示窗口

  ①窗口类定义

  在Windows应用程序中,窗口类定义了窗口的形式与功能。它的定义过程通过给窗口类数据结构WNDCLASS赋值来完成,这个数据结构包含窗口类的各个属性。窗口类的定义常用到以下几个函数,在这里一一介绍。

  1、LoadIcon函数

  LoadIcon函数的作用是在应用程序中加载一个窗口图标。它的原型为:

  

HICON LoadIcon
(
  HINSTANCE hInstance, //图标资源所在的模块句柄;
              //如果使用NULL,就会使用系统预定义的图标
  LPCTSTR lpIconName //图标资源名或系统预定义的图标标识名
)
2、LoadCursor函数
LoadCursor函数作用是在应用程序中加载一个窗口光标。它的原型为:
HCURSOR LoadCursor
(
  HINSTANCE hInstance,//光标资源所在的模块句柄;
              //如果使用NULL,它就会使用系统预定义的光标
  LPCTSTR lpCursorName//图标资源名或系统预定义的光标标识名
)

  3、GetStockObject函数

  应用程序通过调用GetStockObject函数来获取系统提供的背景刷,它的原型为:

  HBRUSH GetStockObject(int nBrush);

  //nBrush 为系统提供的背景刷标示名

  ②注册窗口类

  Windows系统本身提供部分预定义的窗口类,我们也可以自己定义窗口类,窗口类必须先注册后使用。窗口类注册使用的函数是RegisterClass()实现。它的原型为:

  RegisterClass(&wndclass);

  //wndclass为窗口的类结构(前面第二篇文章已经介绍过了)

  ③创建窗口

  窗口注册之后就要把它实例化,简单的说就是创建一个窗口的实例。它是由函数CreateWindow()实现,函数的原型为:

  

HWND CreateWindow
(
  LPCTSTR lpszClassName,//窗口实例的类的名字
  LPCTSTR lpszTitle,    //窗口标题名
  DWORD dwStyle,    //新创建的窗口的样式(后面将会详细介绍)
  int x,          //窗口左上角的横坐标
  int y,          //窗口左上角的纵坐标
  int nWidth,        //窗口的宽度
  int nHeight,       //窗口的高度
  HWND hwndParent,   //该窗口的父窗口的句柄
  HMENU hMenu,     //窗口主菜单句柄
  HINSTANCE hInstance, //创建窗口的应用程序当前句柄
  LPVOID lpParam     //指向一个传递给窗口的参数值的指针
)

  那么窗口的样式有哪些呢?

  标识 说明

  WS_BORDER 创建一般带边框的窗口

  WS_CAPTION 创建一个带标题栏的窗口

  WS_HSCROLL 创建一个带水平滚动条的窗口

  WS_MAXIMIZEBOX 创建一个带最大化按钮的窗口

  WS_MINIMIZEBOX 创建一个带最小化按钮的窗口

  WS_OVERLAPPED 创建一个带边框和标题栏的窗口

  WS_OVERLAPPEDWINDOW 创建一个带边框、标题栏、系统菜单及最大化、最小化按钮的窗口

  WS_POPUP 创建一弹出式窗口

  WS_POPUPWINDOW 创建一带边框和系统菜单的弹出式窗口

  WS_SYSMENU 创建一带系统菜单的窗口

  WS_VSCROLL 创建一带垂直滚动条的窗口

  当然为了实现具有多种风格的窗口,WINAPI提供了|来表示并(∪)的意思。例如我们要实现一个即具有垂直滚动条又具有水平滚动条的弹出式窗口时可以输入:WS_BSCOLL|WS_VSCROLL|WM_POPUP

  ④显示窗口

  以上的操作均由函数实现,显示窗口当然也不例外。窗口类的显示由ShowWindow和UpdateWindow函数实现。应用程序调用ShowWindow函数在屏幕上显示窗口,其形式为:

  BOOL ShowWindow(hwnd,nCmdShow)

  //其中hwnd为窗口句柄,nCmdShow为窗口显示形式标识

  nCmdShow共有六个可选值

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  标识 说明

  SW_HIDE 隐藏窗口

  SW_SHOWNORMAL 显示并激活窗口

  SW_SHOWMINIMIZE 显示并最小化窗口

  SW_SHOWMAXIMIZE 显示并最大化窗口

  SW_SHOWNOACTIVE 显示但不激活窗口

  SW_RESTORE 恢复窗口原来的位置及尺寸

  在窗口显示之后,应用程序应使用UpdateWindow函数更新并绘制用户区,并发出WM_PAINT消息。它的形式为:

  BOOL UpdataWindow(hwnd);

  //hwnd为窗口句柄

展开更多 50%)
分享

猜你喜欢

初级 Windows API C++语言版 编程(3)

编程语言 网络编程
初级 Windows API C++语言版 编程(3)

初级 WINDOWS API C++语言版 编程(2)

编程语言 网络编程
初级 WINDOWS API C++语言版 编程(2)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

初级 WINDOWS API C++语言版 编程(1)

编程语言 网络编程
初级 WINDOWS API C++语言版 编程(1)

C#语言初级入门(3)

电脑网络
C#语言初级入门(3)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

C语言编程

编程语言 网络编程
C语言编程

Windows下C语言网络编程快速入门

编程语言 网络编程
Windows下C语言网络编程快速入门

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

双显卡用户Photoshop CS6图片无法显示指导

双显卡用户Photoshop CS6图片无法显示指导

JavaScript中typeof运算符

JavaScript中typeof运算符
下拉加载更多内容 ↓