API初学者的问题!!帮帮忙!!谢了!!!
lc79 2001-07-20 11:20:09 我弄了一个这个程序,但我不论怎么也调试不出来VC6.0提示为mywin.cpp(17) : error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast请各位帮帮忙!!!谢了谢了!
原程序为:
include <windows.h>
LRESULT CALLBACK MainWndProc(HWND,UINT,WPARAM,LPARAM); //声明回调函数。
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MSG msg; //声明消息结构变量。
HWND hwnd; //声明窗口句柄。
WNDCLASS ws; //声明窗口类结构变量。
ws.style=0; //窗口类风格。
ws.lpfnWndProc=MainWndProc; //与窗口相关的回调函数。
ws.hInstance=hInstance; //拥有该窗口类的程序实例。
ws.hIcon=LoadIcon(NULL,IDI_APPLICATION); //定义一个窗口图标。
ws.hCursor=LoadCursor(NULL,IDC_ARROW); //定义一个窗口客户区光标。
ws.hbrBackground=GetStockObject(GRAY_BRUSH); //设置窗口客户区背景颜色。
ws.lpszMenuName=NULL; //菜单标识符,该框架窗口没有菜单,故设为NULL。
ws.lpszClassName="mins"; //确定该窗口类类名。
ws.cbClsExtra=0; //附加信息无。
ws.cbWndExtra=0; //附加信息无。
if (!RegisterClass(&ws)) //注册窗口类
return (FALSE);
//创建一个窗口
hwnd=CreateWindow("mins","例1 - 框架窗口", WS_OVERLAPPEDWINDOW,
200,200,400,250,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow); //显示创建的窗口。
//以下为该程序的循环机制。
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam; //若循环停止,则向Windows返回该值,以关闭该程序。
}
//回调函数
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT message,
WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY: //若用户关闭程序,则激发该消息。
PostQuitMessage(0);
break;
//将其它消息给以下函数处理。
default:
return(DefWindowProc(hwnd,message,wParam,lParam));
}
return 0;
}