才疏學淺,只能粗略講一下啦SourceDC = CreateDC("DISPLAY", 0, 0, 0)'以屏幕為源建立一個設備場景DestDC = CreateCompatibleDC(SourceDC)'在內存中建立一個與剛才建立的設備場景一致的設備場景Bhandle = CreateCompatibleBitmap(SourceDC, 400, 300) '顯示區域設置'在內存中建立一幅與剛建立的設備場景相兼容的位圖SelectObject DestDC, Bhandle'這句難理解一點,不亂說了,回頭給你看API說明BitBlt DestDC, 100, 100, 400, 300, SourceDC, 0, 0, &HCC0020 '設置抓圖區域'在兩個設備場景(DestDC和SourceDC)間復制位圖Wnd = Screen.ActiveForm.hwndOpenClipboard WndEmptyClipboardSetClipboardData 2, BhandleCloseClipboard'這一段是對剪貼板的操作,我的API工具中沒有相關說明'大體意思應該是把剛才在內存中建立的位圖放到剪貼板中DeleteDC DestDC'刪除一個設備場景ReleaseDC Dhandle, SourceDC'在內存中釋放掉一個設備場景Picture1.Picture = Clipboard.GetData()'這句不用解釋了吧,把剪貼板中的位圖下載到Picture1中========================下面是我在API工具中查到的相關說明,但愿對你有幫助CreateDC【說明】為專門設備創建設備場景【返回值】Long,新設備場景句柄,若出錯則為零【其它】在繪制之前,先要為該設備場景選定一個位圖。不再需要時,該設備場景可用DeleteDC函數刪除。刪除前,其所有對象應回復初始狀態。若有設備初始設置可用DocumentPropertiesAPI函數載入DEVMODE結構。使用屏幕設備場景(DISPLAY)時要小心,因為它會干擾其他應用程序的外觀示例:靠近屏幕左上角畫一個矩形dc& = CreateDCBynum("DISPLAY", vbNullString,vbNullString, 0)dl& = Rectangle(dc& , 5, 5, 100, 100)【參數表】lpDriverName --- String,用vbNullString傳遞null值給該參數,除非:1、用DISPLAY,是獲取整個屏幕的設備場景;2、用WINSPOOL,則是訪問打印驅動lpDeviceName --- String,所用專門設備的名稱。該名由打印管理器分配顯示lpOutput ------- String,用vbNullString傳遞null值給該參數lpInitData ----- DEVMODE,這個結構保存初始值。用CreateDCBynum傳遞0(NULL)值則適用默認設置CreateCompatibleDC【說明】創建一個與特定設備場景一致的內存設備場景【返回值】Long,新設備場景句柄,若出錯則為零【其它】在繪制之前,先要為該設備場景選定一個位圖。不再需要時,該設備場景可用DeleteDC函數刪除。刪除前,其所有對象應回復初始狀態【參數表】hdc ------------ Long,設備場景句柄。新的設備場景將與它一致。也可能為0以創建一個與屏幕一致的設備場景CreateCompatibleBitmap【說明】創建一幅與設備有關位圖,它與指定的設備場景兼容【返回值】Long,執行成功返回位圖句柄,零表示失敗【其它】內存設備場景即與彩色位圖兼容,也與單色位圖兼容。這個函數的作用是創建一幅與當前選入hdc中的場景兼容。對一個內存場景來說,默認的位圖是單色的。倘若內存設備場景有一個DIBSection選入其中,這個函數就會返回DIBSection的一個句柄。如hdc是一幅設備位圖,那么結果生成的位圖就肯定兼容于設備(也就是說,彩色設備生成的肯定是彩色位圖)如果nWidth和nHeight為零,返回的位圖就是一個1×1的單色位圖一旦位圖不再需要,一定用DeleteObject函數釋放它占用的內存及資源【參數表】hdc ------------ Long,設備場景的句柄nWidth --------- Long,位圖寬度,以像素為單位nHeight -------- Long,位圖高度,以像素為單位SelectObject【說明】每個設備場景都可能有選入其中的圖形對象。其中包括位圖、刷子、字體、畫筆以及區域等等。一次選入設備場景的只能有一個對象。選定的對象會在設備場景的繪圖操作中使用。例如,當前選定的畫筆決定了在設備場景中描繪的線段顏色及樣式【返回值】Long,與以前選入設備場景的相同hObject類型的一個對象的句柄,零表示出錯。如選定的對象是一個區域(Region),結果就是下列常數之一:SIMPLEREGION,COMPLEXREGION 或 NULLREGION 對區域進行描述, GDI_ERROR 表示出錯【其它】返回值通常用于獲得選入DC的對象的原始值。繪圖操作完成后,原始的對象通常選回設備場景。在清除一個設備場景前,務必注意恢復原始的對象【參數表】hdc ------------ Long,一個設備場景的句柄hObject -------- Long,一個畫筆、位圖、刷子、字體或區域的句柄BitBlt【說明】將一幅位圖從一個設備場景復制到另一個。源和目標DC相互間必須兼容【返回值】Long,非零表示成功,零表示失敗。會設置GetLastError【其它】在NT環境下,如在一次世界傳輸中要求在源設備場景中進行剪切或旋轉處理,這個函數的執行會失敗如目標和源DC的映射關系要求矩形中像素的大小必須在傳輸過程中改變,那么這個函數會根據需要自動伸縮、旋轉、折疊、或切斷,以便完成最終的傳輸過程【參數表】hDestDC -------- Long,目標設備場景x,y ------------ Long,對目標DC中目標矩形左上角位置進行描述的那個點。用目標DC的邏輯坐標表示nWidth,nHeight - Long,欲傳輸圖象的寬度和高度hSrcDC --------- Long,源設備場景。如光柵運算未指定源,則應設為0xSrc,ySrc ------ Long,對源DC中源矩形左上角位置進行描述的那個點。用源DC的邏輯坐標表示dwRop ---------- Long,傳輸過程要執行的光柵運算(插一句:&HCC0020應該是一個光柵運算的常數vbSrcCopy)DeleteDC【說明】刪除專用設備場景或信息場景,釋放所有相關窗口資源。不要將它用于GetDC函數取回的設備場景【返回值】Long,執行成功則為非零,失敗則為零【其它】若有對象被選入設備場景,則在調用本函數前應將它們選出。為此,可將初始對象回選入DC,也可用SaveDC, RestoreDC函數對回復DC為其創建時的狀態在vb里使用不要將它用于由vb hdc屬性獲取的設備場景句柄【參數表】hdc ------------ Long,將要刪除的設備場景ReleaseDC【說明】釋放由調用GetDC或GetWindowDC函數獲取的指定設備場景。它對類或私有設備場景無效(但這樣的調用不會造成損害)【返回值】Long,執行成功為1,否則為0【其它】對那些用CreateDC一類的DC創建函數生成的設備場景,不要用本函數【參數表】hwnd ----------- Long,要釋放的設備場景相關的窗口句柄hdc ------------ Long,要釋放的設備場景句柄