簡體   English   中英

VC ++ win32 API編程:如何從剪貼板中獲取圖像並將其顯示在Windows中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM