weixin_43409736
2018-10-25 07:45
采纳率: 60%
浏览 729

WIN32简单创建窗口程序,编译通过但却显示不出结果,代码如下,求助?

#include "stdafx.h"
#include
//窗口函数说明
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//初始化,包括窗口类定义,注册窗口类,创建和显示窗口4部分
//WinMain函数说明
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow)
{
// TODO: Place code here.
HWND hwnd;
MSG Msg; //用于存放消息信息的一个数据结构
WNDCLASS wndclass;
char lpszClassName[] = "窗口"; //窗口类名
char lpszTitle[] = "My_Windows"; //窗口标题名
//***********************************************窗口类定义****************
wndclass.style = 0;//窗口类型为默认类型
wndclass.lpfnWndProc;//窗口处理函数为WndProc
wndclass.cbClsExtra = 0;//窗口类无扩展
wndclass.cbWndExtra = 0;//窗口类实例无扩展
wndclass.hInstance = hInstance;//当前实例句柄
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//窗口最小化图标为默认图标
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//窗口采用箭头光标
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
wndclass.lpszMenuName = NULL;//窗口中无菜单
wndclass.lpszClassName = lpszClassName;//窗口类名为“窗口示例”

                                       //**********************************************窗口注册*****************
if (!RegisterClass(&wndclass))
{
    MessageBeep(0);
    return FALSE;
}
//创建窗口
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;
//return 0;

}
//**************************窗口函数函数体*************
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return (0);
}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 大_Q 2018-10-25 09:56
    已采纳
    wndclass.lpfnWndProc = WndProc;//窗口处理函数为WndProc
    
    打赏 评论

相关推荐 更多相似问题