VC win32 API编程:如何从剪贴板中获取图像并将其显示在Windows中?

在内存DC上使用SelectObject()来选择位图.这让我感到困惑.
我读了msdn但仍然不知道如何填充SelectObject()的第二个参数.

解决方法:

调用OpenClipbard()打开剪贴板并使用CF_BITMAP类型调用GetClipboardData()以获取存储在剪贴板上的图像数据的句柄.如果剪贴板上没有图像,则返回NULL句柄.

然后,在窗口的WM_PAINT处理程序中,使用BeginPaint()获取用于绘制到窗口的设备上下文,并使用CreateCompatibleDC()为位图创建内存设备上下文.使用内存DC上的SelectObject()选择位图,最后使用BitBlt()将位图从内存DC blit到窗口的DC上.不要忘记清理 – 调用DeleteDC()删除内存DC,并调用EndPaint()结束绘图.

最后,当你完成后拨打CloseClipboard().请注意,剪贴板拥有位图句柄,一旦调用CloseClipboard(),位图就会被销毁.因此,如果您想在关闭剪贴板后挂起位图,则需要复制它.

上一篇:python – 通过GTK中的剪贴板处理电子表格数据


下一篇:招行星和权益项目总结