Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 如何找到窗口';当WindowProc收到WM_PAINT消息时,是否显示脏区。。。? 我有一个用C++编写的内部API(没有MFC),在Win32 API之上实现。我的应用程序正在为每个WM_PAINT调用绘制整个窗口。有没有办法只找到脏/无效区域,这样我就可以优化我的绘图功能,只在与脏区域相交的视图中绘图_Visual Studio 2008_Visual C++_Gdi_Winapi - Fatal编程技术网

Visual studio 2008 如何找到窗口';当WindowProc收到WM_PAINT消息时,是否显示脏区。。。? 我有一个用C++编写的内部API(没有MFC),在Win32 API之上实现。我的应用程序正在为每个WM_PAINT调用绘制整个窗口。有没有办法只找到脏/无效区域,这样我就可以优化我的绘图功能,只在与脏区域相交的视图中绘图

Visual studio 2008 如何找到窗口';当WindowProc收到WM_PAINT消息时,是否显示脏区。。。? 我有一个用C++编写的内部API(没有MFC),在Win32 API之上实现。我的应用程序正在为每个WM_PAINT调用绘制整个窗口。有没有办法只找到脏/无效区域,这样我就可以优化我的绘图功能,只在与脏区域相交的视图中绘图,visual-studio-2008,visual-c++,gdi,winapi,Visual Studio 2008,Visual C++,Gdi,Winapi,我在BeginPaint-EndPaint语句之间尝试了以下代码,但失败得很惨。整个窗户都是黑色的。如果我将Optimize flag设置为0,则窗口绘制得很好,但绘制速度太慢。有什么建议吗 #if Optimize // get the inval region and pass it down HRGN invalRegion = CreateRectRgn(0,0,0,0); int retVal = ::GetClipRgn( myHDC,invalRegion);

我在BeginPaint-EndPaint语句之间尝试了以下代码,但失败得很惨。整个窗户都是黑色的。如果我将Optimize flag设置为0,则窗口绘制得很好,但绘制速度太慢。有什么建议吗

#if Optimize
// get the inval region and pass it down
    HRGN invalRegion = CreateRectRgn(0,0,0,0);  
    int retVal = ::GetClipRgn( myHDC,invalRegion);  
    Assert (retVal != -1);  
    if(retVal == 0)         
       return;     // nothing to draw.  
    else if(retVal == 1)        
       Draw(invalRegion); // a valid dirty region handle.   
    else
#endif
       Draw(NULL); // this results in drawing calls to all views in the window.

您是否尝试过使用
PAINTSTRUCT
中的
rcPaint RECT
?GetClipRgn特别指出,它不是指由BeginPaint创建的剪裁区域,而是仅指通过
SelectClipRgn

中显式选择的剪裁区域。您是否尝试过使用
PAINTSTRUCT
中的
rcPaint RECT
?GetClipRgn特别指出,它并不是指由BeginPaint创建的剪辑区域,而是指那些通过
SelectClipRgn
显式选择的剪辑区域