カーソルの取得と描画 <TOP>
現在のカーソルを取得し、フォームとピクチャボックスに描画しています。
GetCursor カーソルのハンドルを取得
DrawIcon デバイスコンテキストにアイコンを描画
'================================================================ '= カーソルの取得と描画
'= (DrawIcon.bas) '================================================================ #include "Windows.bi" ' カーソルのハンドルを取得 Declare Function Api_GetCursor& Lib "user32" Alias "GetCursor" ()
' デバイスコンテキストにアイコンを描画 Declare Function Api_DrawIcon& Lib "user32" Alias "DrawIcon" (ByVal hDC&, ByVal x&, ByVal y&, ByVal hIcon&) ' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得 Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&) ' デバイスコンテキストを解放 Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&) Var Shared Picture1 As Object Picture1.Attach GetDlgItem("Picture1") '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var fhDC As Long Var phDC As Long Var cWnd As Long Var Ret As Long fhDC = Api_GetDC(GethWnd) 'フォームのデバイスコンテキスト phDC = Api_GetDC(Picture1.GethWnd) 'ピクチャボックスのデバイスコンテキスト cWnd = Api_GetCursor() 'カーソルのハンドル Ret = Api_DrawIcon(fhDC, 20, 20, cWnd) 'フォームに描画 Ret = Api_DrawIcon(phDC, 0, 0, cWnd) 'ピクチャボックスに描画 Ret = Api_ReleaseDC(GethWnd, fhDC) 'デバイスコンテキストの解放 Ret = Api_ReleaseDC(Picture1.GethWnd, phDC) ' 〃 End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End