当我隐藏窗口时,部分图形会被删除。我正在使用cout来显示我的代码运行的位置,似乎每个函数都被执行但图像没有重绘
case WM_PAINT:{
hDC = BeginPaint(ventana,&ps);
FillRect(hDC,&ps.rcPaint,CreateSolidBrush(RGB(100,100,100)));
if(hDC){
CreateFrame(300,200,100,50,&hDC,&ps);
EndPaint(ventana,&ps);
}
break;
}
“CreateFrame”功能
int CreateFrame(long x,long y,long ancho,long alto,HDC* dc,PAINTSTRUCT* ps){
RECT rc;
HBRUSH pincel = CreateSolidBrush(RGB(255,0,0));
rc.left = ps->rcPaint.left + x;
rc.top = ps->rcPaint.top + y;
rc.right = rc.left + ancho;
rc.bottom = rc.top + alto;
cout<<rc.left<<" - " << rc.top <<" - "<<rc.right<<" - "<<rc.bottom<<"\n";
if(FrameRect(*dc,&rc,pincel)){
if(Ellipse(*dc,rc.left+10,rc.top+10,rc.left+20,rc.top+20)){
cout<<"se dibujo elipse\n";
}
cout<<"exito\n";
}
DeleteObject(pincel);
return 1;
}
答案 0 :(得分:0)
问题解决了xdxd
int CreateFrame(long x,long y,long ancho,long alto,HDC* dc,PAINTSTRUCT* ps){
RECT rc;
HBRUSH pincel = CreateSolidBrush(RGB(255,0,0));
rc.left = x;
rc.top = y;
rc.right = x + ancho;
rc.bottom = y + alto;
cout<<rc.left<<" - " << rc.top <<" - "<<rc.right<<" - "<<rc.bottom<<"\n";
if(FrameRect(*dc,&rc,pincel)){
if(Ellipse(*dc,rc.left+10,rc.top+10,rc.left+20,rc.top+20)){
cout<<"se dibujo elipse\n";
}
cout<<"exito\n";
}
DeleteObject(pincel);
return 1;
}