use*_*369 4 c++ clipboard winapi visual-c++
在内存DC上使用SelectObject()来选择位图.这让我感到困惑.我读了msdn但仍然不知道如何填充SelectObject()的第二个参数.
调用OpenClipbard()打开剪贴板并GetClipboardData()使用某种类型调用CF_BITMAP来获取存储在剪贴板上的图像数据的句柄.如果剪贴板上没有图像,则返回NULL句柄.
然后,在窗口的WM_PAINT处理程序中,用于BeginPaint()获取用于绘制到窗口的设备上下文,并CreateCompatibleDC()用于为位图创建内存设备上下文.使用SelectObject()你的内存DC选择位图到它,最后用BitBlt()做块从内存DC的位图到窗口的DC.不要忘记清理 - 调用DeleteDC()删除内存DC,并调用EndPaint()结束绘图.
最后,CloseClipboard()当你完成后打电话.请注意,剪贴板拥有位图句柄,一旦调用CloseClipboard(),位图将被销毁.因此,如果您想在关闭剪贴板后挂起位图,则需要复制它.