zoukankan      html  css  js  c++  java
  • Windoows窗口程序一

    编写窗口程序的步骤:
    1.定义WinMain入口函数
    2.定义窗口处理函数(处理消息)WindowProc
    3.注册窗口类RegisterClass
    4.创建窗口(在内存中创建窗口)CreateWindow
    5.显示窗口(根据内存的数据将窗口绘制出来)ShowWindow/UpdateWindow
    6.消息循环(提取、翻译、派发消息)GetMessage,TranslateMessage,DisptachMessage
    7.消息处理
    窗口类
    窗口类包含了窗口的各种参数信息的数据结构。每个窗口都具有窗口类,基于窗口类创建窗口。每个窗口类都具有一个名称,使用前必须注册到系统。
    窗口类的分类
    --系统窗口类
    系统已经定义好的窗口类,所有应用程序都可以直接使用。
    --应用程序全局窗口类
    由用户自己定义,当前应用程序所有模块都可以使用。
    --应用程序局部窗口类(推荐使用)
    由用户自己定义,当前应用程序中本模块可以使用。
    ATOM RegisterClass(
    const WNDCLASS *lpWndClass//窗口类数据
    );注册成功后,返回一个数字标识。
    ATOM RegisterClassEx(
    const WNDCLASSEX *lpwcx//窗口类数据(数据类型和RegisterClass不同)
    );
    typedef struct _WNDCLASSEX
    {
    UNIT cbSize;//结构体的大小
    UINT style;//窗口类的风格
    WNDPROC lpfnWndProc;//窗口处理函数
    int cbClsExtra;//窗口类的附加数据buffer的大小
    int cbWndExtra;//窗口的附加数据buffer的大小
    HINSTANCE hInstance;//当前模块的实例句柄
    HICON hIcon;//窗口图标句柄--窗口任务栏图标
    HCURSOR hCursor;//鼠标的句柄
    HBRUSH hbrBackground;//绘制窗口背景的画刷句柄
    LPCTSTR lpszMenuName;//窗口菜单的资源ID字符串
    LPCTSTR lpszClassName;//窗口类的名称
    HICON hIconSm;//窗口的小图标句柄--窗口左上角图标
    }WNDCLASSEX;
    应用程序全局窗口类的注册,需要在窗口类的风格中增加CS_GLOBALCLASS,
    例如:WNDCLASSEX wce={0};wce.style=CS_GLOBALCLASS;
    应用程序局部窗口类
    再注册窗口类时,不添加CS_GLOBALCLASS风格。
  • 相关阅读:
    Oracle 更改DBID
    Oracle 修改字段长度
    Oracle 索引
    Oracle在无法打开数据库的状态下获取DBID
    Oracle 备份脚本
    Linux crontab计划任务
    Oracle restore和recovery的区别
    Django基础
    面向对象(一)
    socket
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6685655.html
Copyright © 2011-2022 走看看