鱼C论坛

 找回密码
 立即注册
查看: 2118|回复: 5

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

[复制链接]
发表于 2018-5-3 21:45:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

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")

测试只能用英文

可能是你带了数字的原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-3 22:02:03 From FishC Mobile | 显示全部楼层
前面加上::试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

你好,感谢你的帮忙,我试过了,也不行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-3 22:37:01 | 显示全部楼层    本楼为最佳答案   
CreateWindow(TEXT("button") 不是 CreateWindow(TEXT("BUTTON1")

测试只能用英文

可能是你带了数字的原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

测试只能用英文

哇,大佬,还真行,多谢多谢。长见识了。666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

测试只能用英文

我搞懂了,原来类名有规定,我太肤浅了,多谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 03:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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