【发布时间】:2016-06-05 14:35:22
【问题描述】:
为父窗口注册类后,winmain函数中的代码如下:
RECT disrect;
HWND stat = CreateWindow("BUTTON","abcdef",
WS_CHILD|WS_VISIBLE|BS_OWNERDRAW,10,150,500,100,dis,0,0,0);
HDC hdc=GetDC (stat);
FillRect(hdc,&disrect,CreateSolidBrush(RGB(3,5,54)));
SetTextColor(hdc,RGB(25,250,250));
POINT p[3];
p[1].x=280;
p[1].y=280;
p[2].x=280;
p[2].y=290;
p[3].x=285;
p[3].y=285;
Polygon(hdc,p,3);
TextOut(hdc,10,10,"hhhhh",5);
但是当我运行它时,只在父窗口中显示一个白色矩形,矩形既没有被黑色画笔填充,也没有任何文本。
你们能告诉我哪里错了吗?
【问题讨论】:
-
您似乎不明白,Windows 桌面应用程序是如何运行的。有关快速介绍,请参阅Walkthrough: Creating Windows Desktop Applications (C++)。这不是真正的学习材料的替代品。考虑获取 Jeffrey Richter 的 Programming Windows®, Fifth Edition (Developer Reference) 的副本。
-
还有资源泄露,
p[3].x无效 -
@BarmakShemirani 这不是资源泄漏;那是无效的索引导致缓冲区溢出。画笔没有被销毁,存在资源泄漏。
-
是的,我就是这个意思
-
@BarmakShemirani 哦,我将“and”误读为冒号;傻我