| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2380 人关注过本帖
标题:Win32 窗口编译能成功并显示窗口。 但内容一直加载不出来
只看楼主 加入收藏
liting561199
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2015-3-24
结帖率:100%
收藏
 问题点数:0 回复次数:0 
Win32 窗口编译能成功并显示窗口。 但内容一直加载不出来
初学 就遇到这种问题。网上找了也没看到对应的解决方法。 我用的是VS2010
就是窗口图标创建,加载不出。 任务栏图标也加载不出。 弄个画板画个框框也没加载出。

程序代码:
#include<Windows.h>

LRESULT CALLBACK PELouSi(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam);
//WINAPI 调用约定  , 主要是参数的入栈顺序, 这个栈空间的清理者
//参数1:句柄, 窗口的唯一标识  参数2:always NULL.  参数3:传递给应用程序的命令行参数 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)
{
    //初始化窗口类
    int x = 0;
    WNDCLASSEX wc;
    HWND hWnd; //返回的句柄

    wc.cbClsExtra = 0;
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.cbWndExtra = 0;
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW); //加载光标
    wc.hIcon = NULL;//LoadIcon(NULL, IDI_HAND);  //修改状态栏图标
    wc.hIconSm = NULL;//窗口图标
    wc.hInstance = hInstance;
    wc.lpfnWndProc = PELouSi;//回调函数地址
    wc.lpszClassName = "tetri";//窗口名字,给操作系统看的
    wc.lpszMenuName = NULL;
    wc.style = CS_HREDRAW | CS_VREDRAW;

    //12 个成员


    //注册窗口对象
    if( 0 == RegisterClassEx(&wc))//注册失败8
    {
        //得到错误码
        int a = GetLastError();
        return 0;
    }

    //创建窗口   WS_OVERLAPPEDWINDOW
    hWnd = CreateWindowEx(WS_EX_TOPMOST, "tetri", "内蒙古方块",WS_OVERLAPPEDWINDOW, 100, 30, 500, 645,
        NULL, NULL, hInstance, NULL);   //返回句柄, 窗口唯一标识
    if(NULL == hWnd)
    {
        return 0;
    }

    ShowWindow(hWnd, nCmdShow);  //隐藏显示返0, 正常显示返回非0
    //CreateWindow();

    MSG mSg;// 消息结构体
    //消息循环
    while(GetMessage(&mSg, NULL, 1, 2)) // 从消息队列中获得消息    参数2:NULL 和 非NULL 区别
    {
        //翻译消息
        TranslateMessage(&mSg );

        //分发消息:    标准消息  命令消息 通知消息 自定义消息
        DispatchMessage( &mSg );
    }
    return 0;
}

//回调函数
LRESULT CALLBACK PELouSi(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam) //UINT nMsg:消息的ID, 
{
    PAINTSTRUCT pt;
    HDC hDC;
    //关闭窗口消息
    switch(nMsg)
    {
    case WM_CREATE:  //窗口创建初期只产生一次
        GetLastError();
        //初始化数据
        break;
    case WM_PAINT:
        hDC = BeginPaint(hWnd, &pt); //getDC, 窗口可操作性区域标识 画板

        //中间画图部分
        Rectangle(hDC, 0, 0, 300, 600);//画矩形


        EndPaint(hWnd, &pt);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);//发出WM_QUIT消息
        break;
    };// 手动 处理点× 关闭消息
    //点×三种消息  wm_CLOSE, WM_DESTROY, WM_QUIT 依次产生
    return DefWindowProc(hWnd, nMsg, wParam, lParam); //功能: 将没有处理的消息进行处理, 保证系统逻辑连贯性
}
搜索更多相关主题的帖子: 任务栏 空间 清理 网上 
2017-04-25 11:28
快速回复:Win32 窗口编译能成功并显示窗口。 但内容一直加载不出来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028092 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved