wxWidgets第七课wxWindow的HWND句柄和其对象指针-创新互联
WXHWND说明
创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元广陵做网站,已为上家服务,为广陵各地企业和个人服务,联系电话:18982081108在wxWidgets中,开发的目标设备是Windows平台,有时候需要调用原生态的窗口函数进行编程。例如为了使用AGG渲染库,必须获取控件的窗口句柄,创建兼容性位图,得到渲染缓存。在windows平台下窗口句柄的类型是HWND。这个时候需要调用wxWindow::GetHWND()函数,获取到原生态窗口的句柄。这个函
数的返回值是一个WXHWND类型的窗口句柄,实际上,WXHWND可以强制转换成HWND,得到原生态的窗口句柄,正如下面的例子所描述的不强制转换也没有问题!
例子
WXHWND hwd = GetHWND();//获取窗口的句柄
RECT rect2;//win32 结构体
wxRect rect3 = GetClientRect();
rect2.left = rect3.GetLeft();
rect2.top = rect3.GetTop();
rect2.right = rect3.GetRight();
rect2.bottom = rect3.GetBottom();
ValidateRect(hwd, &rect2);//调用win32 API,第一个参数是HWND
wxWindow说明
wxGetWindowFromHWND根据窗口句柄获取窗口对象根据core/evtloop.cpp文件中的bool wxGUIEventLoop::PreProcessMessage(WXMSG *msg)函数描述,可以通过如下的函数,根据窗口句柄WXHWND获取窗口的对象指针: wxWindow *wndThis = wxGetWindowFromHWND((WXHWND)hwnd);
GetClientRect特别说明
GetClientRect得到的是相对于窗口客户区左上角的坐标.有两个版本的函数
WIN32系统的函数
WINUSERAPI BOOL WINAPI GetClientRect(
_In_ HWND hWnd,
_Out_ LPRECT lpRect);
wx内部的基类函数
wxWindowBase::GetClientRect
为了指定系统的API函数,需要使用::限定符,否则默认情况下使用内部类成员函数
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:wxWidgets第七课wxWindow的HWND句柄和其对象指针-创新互联
本文网址:http://azwzsj.com/article/cdsegd.html