zoukankan      html  css  js  c++  java
  • windows 编程 第一程序

    由于windows编程是基于window操作系统的编程,window内众多函数、方法已经被封装,因此window编程得注意编程的格式

    window编程顺序: 1  设计一个窗体

             2  注册这个窗体

               3  创建这个窗体

             4   更新这个窗体的内容

               5  由于windows系统是基于消息响应的,所以程序必须得获取系统消息

             6 获取消息后,然后再响应消息,即处理消息        

    #include<windows.h>

    LRESULT CALLBACK WndProc( HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam);   // 申明消息处理函数

    int WINAPI WinMain( HINSTANCE hInstance,
    HINSTANCE prehInstance,
    LPTSTR lpCmdLine,
    int nShow
    )
    {
    // 1. 创建一个窗体类
    WNDCLASS ws;

    ws.cbClsExtra = 0;
    ws.cbWndExtra = 0;
    ws.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    ws.hCursor = NULL;
    ws.hIcon = NULL;
    ws.hInstance = hInstance;
    ws.lpfnWndProc = WndProc;
    ws.lpszClassName = TEXT("Hello");
    ws.lpszMenuName =NULL;
    ws.style = CS_VREDRAW | CS_HREDRAW;

    // 2. 注册窗体类
    if( !RegisterClass(&ws) ) return -1;

    // 3.创建窗体
    HWND hwnd = CreateWindow( TEXT("Hello"), TEXT("my first window"), WS_VISIBLE|WS_BORDER,10,10,400,300,NULL,NULL,hInstance,NULL);

    // 4.更新窗体内容
    UpdateWindow(hwnd);
    ShowWindow(hwnd,SW_SHOWNORMAL);

    // 5.获取系统消息
    MSG msg;
    while( GetMessage( &msg, NULL, 0, 0 ) )
    {
    TranslateMessage( &msg );
    DispatchMessage( &msg );
    }
    return 1;
    }


    // 6.消息处理
    LRESULT CALLBACK WndProc( HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam)
    {
    if( message == WM_DESTROY )
    {
    PostQuitMessage(1);
    }
    return DefWindowProc( hwnd, message, wParam, lParam );
    }

  • 相关阅读:
    python之路——进程
    python之路——操作系统的发展史
    python之路——网络编程
    模块学习之re模块
    day11迭代器、生成器
    day10闭包、函数装饰器
    vnc安装和配置
    单例模式
    代理设计模式
    工厂模式例子
  • 原文地址:https://www.cnblogs.com/ATMvip/p/2946754.html
Copyright © 2011-2022 走看看