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 );
    }

  • 相关阅读:
    opencv学习笔记(五)镜像对称
    opencv学习笔记(四)投影
    C++文件读写详解(ofstream,ifstream,fstream)
    C++ 提取字符串中的数字
    opencv学习笔记(三)基本数据类型
    opencv学习笔记(二)寻找轮廓
    分别心
    关于bonecp和QuerRunner
    关于AutoCommit
    一个detect问题引发的一系列思考
  • 原文地址:https://www.cnblogs.com/ATMvip/p/2946754.html
Copyright © 2011-2022 走看看