zoukankan      html  css  js  c++  java
  • 消息的测试

    #include <windows.h>

    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    int WINAPI WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInst,
    LPSTR lpszCmdLine,
    int nCmdShow
    )
    {
    MSG Msg;
    HWND hwnd;
    WNDCLASS wndclass;
    char lpszClassName[] = "窗体";
    //是这个窗口的类名wndclass,不是窗口左上角的那个
    char lpszTitle[] = "My Window";
    HBRUSH hbrush;
    hbrush = CreateSolidBrush(RGB(0, 255, 0));//定义绿色画刷

    wndclass.style = 0;
    wndclass.lpfnWndProc = WndProc;
    wndclass.cbClsExtra = 0;
    wndclass.cbWndExtra = 0;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = hbrush;
    //空值背景颜色,可用自定义画刷来调,绿色背景
    wndclass.hInstance = hInstance;
    wndclass.lpszClassName = lpszClassName;
    wndclass.lpszMenuName = NULL;

    if (!RegisterClass(&wndclass)) {
    MessageBeep(0);
    return 0;
    }

    hwnd = CreateWindow(
    lpszClassName,
    lpszTitle,
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    NULL,
    NULL,
    hInstance,
    NULL
    );

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    while (GetMessage(&Msg, NULL, 0, 0))
    {
    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
    }
    return Msg.wParam;
    }

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    HDC hdc;
    HPEN hpen;
    HBRUSH hbrush;
    PAINTSTRUCT ps;

    switch (message)
    {
    case WM_PAINT:
    //每次窗口上都有,因为只要窗口动了,就发送WM_PAINT消息,
    hdc = BeginPaint(hwnd, &ps);
    hpen = CreatePen(PS_SOLID,10,RGB(255,0,0));
    hbrush = CreateSolidBrush(RGB(255, 0, 0));
    SelectObject(hdc, hpen);
    SelectObject(hdc, hbrush);
    MoveToEx(hdc,100, 100,NULL);
    LineTo(hdc, 200, 300);
    Arc(hdc, 200, 300, 500, 600, 340, 450, 489, 345);
    Pie(hdc, 444, 32, 89, 234, 234, 123, 43, 125);
    DeleteObject(hpen);
    DeleteObject(hbrush);
    EndPaint(hwnd, &ps);
    break;
    //case WM_LBUTTONDOWN:
    //按下鼠标左键
    //MessageBox(NULL, "FENGLEI", "FJFFJ", NULL);
    //break;
    case WM_RBUTTONDOWN:
    //按下鼠标右键
    MessageBox(NULL, "HAH", "FF", NULL);
    break;
    //case WM_MOUSEMOVE:
    //MessageBox(NULL, "鼠标移过","鼠标移过", NULL);
    //MessageBox(NULL, "HAH", "FF", NULL);
    //break;
    case WM_DESTROY:
    PostQuitMessage(0);
    break;
    default:
    return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
    }

     

     

     

  • 相关阅读:
    让网络更轻盈——网络功能虚拟化技术的现状和未来(中兴通讯)
    服务链(Service Chaining,or Service Function Chaining,SFC,功能服务链)
    中间件(middlebox)
    OpenStack 简介
    数据库系统原理——ER模型与关系模型
    Google 面试
    可扩展性 Scalability
    pay-as-you-go
    Java 自动装箱与拆箱(Autoboxing and unboxing)
    齐次坐标的理解
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/13730539.html
Copyright © 2011-2022 走看看