vc++黄维通视频教程例2-1

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:45:29
我从视频上照抄的,但是过不了,哪位大侠帮我看下:
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明
//以下初始化窗口类
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE HPrevInst,LPSTR LpszCmdLine,int nCmdShow)
{
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=GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
//以下进行窗口类的注册
if(!RegisterClass(&wndclass))
{
MessageBeep(0); return FALSE;
}
//创建窗口
hwnd=CreateWindow
(lpsz

wndclass.hbrBackground=(HBRUSH__ *)GetStockObject(WHITE_BRUSH);

改成这样就好了,因为等号两端类型不一样,GetStockObject(WHITE_BRUSH);返回值是Void* 所以必须强制转换一下。

那个 (HBRUSH__ *) 可以改成(HBRUSH) 都一样

另外,我编译过了,通过~

你的工程设置有问题 不是代码的事 重新建一个工程 代码复制过去试一下

我这里没有问题啊?这是全部的代码你再试一下

#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明
//以下初始化窗口类
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE HPrevInst,LPSTR LpszCmdLine,int nCmdShow)
{
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(WHI