[英]VC++ win32 API programming: how can I get the image out of the clipboard and display it in a windows?
在內存DC上使用SelectObject()來選擇位圖。 這讓我感到困惑。 我讀了msdn但仍然不知道如何填充SelectObject()的第二個參數。
呼叫OpenClipbard()
打開剪貼板,並調用GetClipboardData()
與一種類型的CF_BITMAP
得到處理存儲在剪貼板中的圖像數據。 如果剪貼板上沒有圖像,則返回NULL句柄。
然后,在窗口的WM_PAINT
處理程序中,使用BeginPaint()
獲取用於繪制到窗口的設備上下文,並使用CreateCompatibleDC()
為位圖創建內存設備上下文。 在內存DC上使用SelectObject()
來選擇位圖,最后使用BitBlt()
將位圖從內存DC blit到窗口的DC上。 不要忘記清理 - 調用DeleteDC()
刪除內存DC,並調用EndPaint()
結束繪圖。
最后,完成后調用CloseClipboard()
。 請注意,剪貼板擁有位圖句柄,一旦調用CloseClipboard()
,位圖就會被銷毀。 因此,如果您想在關閉剪貼板后掛起位圖,則需要復制它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.