wndclass.hbrBackground=GetStockObject(WHITE_BRUSH); 这一句为什么出错?? 解决了就给分

surstar 2004-11-03 06:13:12
// this is my first windows application
//name: SimpleWindows
//-------------------
#include <windows.h>
LONG FAR PASCAL WindowFun(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE CurInstance,HINSTANCE PreInstance,LPSTR CmdParaStr,int ShowStyle )
{
static char ProgName[]="MyProg1_1"; // this is application name
HWND hwnd; //this is windows's piont
MSG msg; //the message struct
WNDCLASS wndclass; //windows type


//register
//regist one time is ok
if(!PreInstance)
{
wndclass.lpszClassName =ProgName;
wndclass.hInstance = CurInstance;
wndclass.lpfnWndProc =WindowFun;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor =LoadCursor(NULL,IDC_IBEAM);
wndclass.lpszMenuName =NULL;
wndclass.hbrBackground=GetStockObject(WHITE_BRUSH);
wndclass.style =CS_HREDRAW|CS_VREDRAW;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
RegisterClass(&wndclass);
}
//create the windows
hwnd=CreateWindow(ProgName, //Need register windows class name
ProgName, //the window naem
WS_OVERLAPPEDWINDOW,//the window style
100, //the x
100, // the y
300, // the x
200, //the y
NULL, //father windows handle
NULL, //menu handle
CurInstance, //this window's handle
NULL); //the param
//show windows
ShowWindow(hwnd,ShowStyle);
UpdateWindow(hwnd);
//message
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam ;
}

//-----------------------
//windows process funcation
//-----------------------
long FAR PASCAL WindowFun(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
switch(message)
{
case WM_DESTROY: //Close windows
PostQuitMessage(0);
return (0);
case WM_PAINT: //ONPAINT
HDC hDC;
PAINTSTRUCT paintStruct;
hDC=BeginPaint(hwnd,&paintStruct);
EndPaint(hwnd,&paintStruct);
return (0);
default: //other
return DefWindowProc(hwnd,message,wParam,lParam);
}
}



//=====================================
错误信息如下:
Compiling...
SimpleWindows.cpp
E:\WebTest\VCStudy\SimpleWindows\SimpleWindows.cpp(25) : error C2440: '=' : cannot convert from 'void *' to 'struct HBRUSH__ *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Error executing cl.exe.

...全文
307 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ehrlick 2004-11-07
  • 打赏
  • 举报
回复
恩 应该加DI (HBRUSH)
surstar 2004-11-07
  • 打赏
  • 举报
回复
TO:一定要 加 加个强制转换吗???

以前我都没有加!
李马 2004-11-07
  • 打赏
  • 举报
回复
加个强制转换:
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
surstar 2004-11-07
  • 打赏
  • 举报
回复
没有人理我吗?

我自己顶!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧