WinMain

wndcls.lpszClassName ="2017";的名称不能太长,如果长了就容易出错
#include <windows.h>
#include <stdio.h>


LRESULT  CALLBACK WinSunProc(
                             HWND hwnd,
                             UINT uMsg,
                             WPARAM wParam,
                             LPARAM lParam
                             )  ;    //窗口处理函数WinSunPro();声明
int WINAPI WinMain(
                   HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow
                   )
{
    //设计一个窗口类
    WNDCLASS wndcls;
    wndcls.cbClsExtra=0;    //窗口类外加内存
    wndcls.cbWndExtra=0;   //窗口外加内存
    wndcls.hbrBackground= (HBRUSH)GetStockObject(BLACK_BRUSH)   ;//类型转换
    wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);   //
    wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);//
    wndcls.hInstance=hInstance;  //应用程序的实例句柄,由WinMain函数传递过来
    wndcls.lpfnWndProc=WinSunProc;
    wndcls.lpszClassName ="2017";
    wndcls.lpszMenuName=NULL;
    wndcls.style=CS_HREDRAW   |  CS_VREDRAW;
    RegisterClass(&wndcls);
    HWND hwnd;
    hwnd=CreateWindow("2017","北京创新中心",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);
    ShowWindow(hwnd,SW_SHOWNORMAL);
    UpdateWindow(hwnd);    //向消息相应处理函数发送一个WM_PAINT的消息
    MSG msg;
    while(GetMessage(&msg,NULL,0,0))          //三四个参数为消息过滤器min-max
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);

    }
    return 0;

}

LRESULT CALLBACK WinSunProc(
                            HWND hwnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam
                            )
{
    switch(uMsg)
    {
    case WM_CHAR:
        char szChar[20];
        sprintf(szChar,"char code is %d",wParam);
        MessageBox(hwnd,szChar,"char",0) ;
        break;
    case WM_LBUTTONDOWN:
        MessageBox(hwnd,"mouse clicked","message",0);
        HDC hdc;
        hdc=GetDC(hwnd);
        TextOut(hdc,0,50,"程序员之家",strlen("程序员之家"));
        ReleaseDC(hwnd,hdc);
        break;
    case WM_PAINT:
        HDC hDc;
        PAINTSTRUCT ps;
        hDc = BeginPaint(hwnd,&ps);
        TextOut(hDc,0,0,"维新培训",strlen("维新培训"));
        EndPaint(hwnd,&ps);
        break;
    case WM_CLOSE:
        if(IDYES==MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
        {
            DestroyWindow(hwnd);

        }
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hwnd,uMsg,wParam,lParam);

    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Achou.Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值