QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
6
查看: 237|回复: 5

[已解决]关于CreateWindow创建控件失败的提问

[复制链接]
最佳答案
0 

尚未签到

899599 发表于 2018-5-3 21:45:23 2375 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
求大神指点
我今天学习CreateWindow来做控件,在学校的xp系统,用vs2010下可以创建成功。
但是下午在自己的笔记本(win10,vs2017)下写入同样的代码,但是运行程序的时候,控件却没有创建出来,之后下载了vs2010,然后也不行。
两个情况我都是在vs自动生成的代码下添加WM_CREATE和CreateWindow的代码。
上网查这个问题的时候,网上的大佬说的是返回值的问题。但是我的代码和网上的没不同,然后就用了一下午都不能解决问题。所以来求大神们指点。
代码如下(以下是WndProc函数的代码)
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_CREATE:
        {
                CreateWindow(TEXT("BUTTON1"), TEXT("PushButton(&A)"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 50, 30, 110, 30,
                        hWnd, (HMENU)IDC_BUTTON1, ((LPCREATESTRUCT)lParam)->hInstance, NULL);
                return TRUE;
        }
    case WM_COMMAND:
        {
            int wmId = LOWORD(wParam);
            // 分析菜单选择:
            switch (wmId)
            {
            case IDM_ABOUT:
                DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
                break;
            case IDM_EXIT:
                DestroyWindow(hWnd);
                break;
            default:
                return DefWindowProc(hWnd, message, wParam, lParam);
            }
        }
                return 0;
        break;
    case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hWnd, &ps);
            // TODO: 在此处添加使用 hdc 的任何绘图代码...
                        TextOut(hdc,500,500, "12315", 5);
            EndPaint(hWnd, &ps);
        }
        break;
        case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
                return ::DefWindowProc(hWnd, message, wParam, lParam);
    }
        return 0;
}

求求大神们了。谢谢!

最佳答案
2018-5-3 22:37:01
CreateWindow(TEXT("button") 不是 CreateWindow(TEXT("BUTTON1")

测试只能用英文

可能是你带了数字的原因
楼层
跳转到指定楼层
最佳答案
1033 
累计签到:339 天
连续签到:92 天
BngThea 发表于 2018-5-3 22:02:03 From FishC Mobile | 显示全部楼层
前面加上::试试
最佳答案
0 

尚未签到

899599  楼主| 发表于 2018-5-3 22:20:27 | 显示全部楼层

你好,感谢你的帮忙,我试过了,也不行。
最佳答案
831 
累计签到:346 天
连续签到:86 天
ba21 发表于 2018-5-3 22:37:01 | 显示全部楼层    本楼为最佳答案   
CreateWindow(TEXT("button") 不是 CreateWindow(TEXT("BUTTON1")

测试只能用英文

可能是你带了数字的原因
最佳答案
0 

尚未签到

899599  楼主| 发表于 2018-5-3 22:39:04 | 显示全部楼层
ba21 发表于 2018-5-3 22:37
CreateWindow(TEXT("button") 不是 CreateWindow(TEXT("BUTTON1")

测试只能用英文

哇,大佬,还真行,多谢多谢。长见识了。666
最佳答案
0 

尚未签到

899599  楼主| 发表于 2018-5-3 22:50:38 | 显示全部楼层
ba21 发表于 2018-5-3 22:37
CreateWindow(TEXT("button") 不是 CreateWindow(TEXT("BUTTON1")

测试只能用英文

我搞懂了,原来类名有规定,我太肤浅了,多谢。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-5-25 07:39

快速回复 返回顶部 返回列表