能力值:
( LV6,RANK:90 )
|
-
-
2 楼
定义两个变量 hbrushold hpenold
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
hbrush=CreateSolidBrush(RGB(240,240,240));//矩形背景色
hpen=CreatePen(PS_SOLID,2,RGB(50,50,50));//矩形边框色
hbrushold = SelectObject(hdc,hbrush);//画刷
hpenold = SelectObject(hdc,hpen);//画笔
Rectangle(hdc,1,1,300,540);//绘制游戏区域矩形
Rectangle(hdc,338,40,458,160);//绘制"下一个"矩形
DeleteObject(SelectObject(hdc,hbrushold));
hbrush=CreateSolidBrush(RGB(226,121,7));//矩形背景色
SelectObject(hdc,hbrush);//画刷
if(gamestatus!=0)
{
for(i=0;i<10;i++)
for(j=0;j<18;j++)
if(mainmap[i][j]==1) Rectangle(hdc,i*30,j*30,i*30+30,j*30+30);//绘制主棋盘数据
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(cube[next][0][i][j]==1) Rectangle(hdc,338+i*30,40+j*30,338+i*30+30,40+j*30+30);//绘制"下一个"
}
DeleteObject(SelectObject(hdc,hbrushold));
DeleteObject(SelectObject(hdc,hpenold));
EndPaint(hWnd, &ps);
break;
|
能力值:
( LV13,RANK:388 )
|
-
-
3 楼
非常感谢,正在测试
我已经被SelectObject、DeleteObject彻底弄晕了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
楼主好强力,当年我只是在arm7上做了一个打砖块的游戏就把我搞的够呛!
|
能力值:
( LV13,RANK:388 )
|
-
-
5 楼
问题依旧,不过这次能撑更长时间
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
共享下sourcecode看看
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
顶个,不错.....
|
能力值:
( LV13,RANK:388 )
|
-
-
8 楼
找到了 我接管了WM_CTLCOLORSTATIC消息
这个消息返回brush句柄可以作为背景色,问题是在这个消息里创建 没办法释放
所以我直接返回了return (long)GetStockObject(WHITE_BRUSH);这次不是我创建的
没问题了
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
WM_CTLCOLORSTATIC 返回一个你已经创建好的刷子句柄,而不是每一次调用都返回一个新创建的刷子.
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
前来学习学习
|
能力值:
( LV13,RANK:388 )
|
-
-
11 楼
我本来也打算那样,不过不知道该放到哪个消息里
放到WM_CREAT里没效果
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
我也来做下小白鼠~~~~~~~支持动手!
|
能力值:
( LV13,RANK:388 )
|
-
-
13 楼
源码已经附上
|
能力值:
( LV6,RANK:90 )
|
-
-
14 楼
保存为全局变量,在WM_CREATE消息时创建刷子.
|
能力值:
( LV13,RANK:388 )
|
-
-
15 楼
谢谢 问题已解决
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
都 是编程大师啊,佩服
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
HOME不是随随便便可以按的啊
|
|
|