下示例代码是从剪贴板上取得一张位图,将它粘贴到客户区DC中。
if ( OpenClipboard() )
{
//Get the clipboard data
HBITMAP handle = (HBITMAP)GetClipboardData(CF_BITMAP);
CBitmap bm = CBitmap::FromHandle(handle);
//bm里面有你需要的位图信息,详情可以看看CBitmap 的组成
CClientDC cdc(this);
CDC dc;
dcCreateCompatibleDC(&cdc);
dcSelectObject(bm);
cdcBitBlt(0,0,200,200,&dc,0,0,SRCCOPY);
CloseClipboard();
}
思路有问题,应该如下做(只限于有标题栏的窗口)
1找到窗口,通过标题,如下:
HWND
myHwnd;
/////////找到窗口的HDR
myHwnd=::FindWindow(
NULL,/
class
name/
"窗口名称"
//LPCTSTR
lpWindowName
//
window
name
);
if(myHwnd==NULL)
//"Cannot
Find");
2
//找到窗口的位置及大小
::GetWindowRect(
myHwnd,
//
handle
to
window
mRect
//
client
coordinates
);
3获得屏幕句柄
HDC
hdc
=
::GetDC(NULL);
4通过mRect
和hdc
对界面进行 *** 作
CWnd有个成员函数
HWND GetSafeHwnd( ) const;
在对话框类的成员函数里用
HWND hwnd = GetSafeHwnd();
得到的hwnd就是句柄了
以上就是关于VC中关于剪切板中位图的 *** 作全部的内容,包括:VC中关于剪切板中位图的 *** 作、VC如果得到其他程序窗口的控件句柄、VC获取自身窗口句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)