by konisi » 2006年12月31日(日) 18:05
僕の場合は、GetCapture関数+GetDC関数で何とか表示しますが。(ためしに作ってみたら割とうまくいったので。)
だいたいこんなイメージ
コード: 全て選択
#include "test.idx"
'NoWindow Base
Function draw(X As Long,Y As Long,CX As Long,CY As Long)
Dim hdc As HDC
hdc=GetDC(GetCapture())
Dim memdc As HDC
memdc=CreateCompatibleDC(hdc)
Dim hBmp As VoidPtr
hBmp=LoadImage(GetModuleHandle(0),IDB_BITMAP1 As *Byte,IMAGE_BITMAP,0,0,LR_DEFAULTSIZE)
SelectObject(memdc,hBmp)
Dim hBrush As VoidPtr, hOldBrush As VoidPtr
hBrush=GetStockObject(LTGRAY_BRUSH)
hOldBrush=SelectObject(hdc,hBrush)
BitBlt(hdc,X,Y,CX,CY,memdc,0,0,SRCCOPY)
SelectObject(hdc,hOldBrush)
DeleteDC(memdc)
DeleteObject(hBmp)
End Function
draw(0,0,320,320)
Sleep(10000)
ExitProcess(0)
追記 2006/12/31 20時頃
bmpを表示するとかそういう割と応用的な事よりも、1週間目のビギナーさんなら基礎基本をしっかり固める方が先だと思います。
僕の場合は、GetCapture関数+GetDC関数で何とか表示しますが。(ためしに作ってみたら割とうまくいったので。)
だいたいこんなイメージ
[code]#include "test.idx"
'NoWindow Base
Function draw(X As Long,Y As Long,CX As Long,CY As Long)
Dim hdc As HDC
hdc=GetDC(GetCapture())
Dim memdc As HDC
memdc=CreateCompatibleDC(hdc)
Dim hBmp As VoidPtr
hBmp=LoadImage(GetModuleHandle(0),IDB_BITMAP1 As *Byte,IMAGE_BITMAP,0,0,LR_DEFAULTSIZE)
SelectObject(memdc,hBmp)
Dim hBrush As VoidPtr, hOldBrush As VoidPtr
hBrush=GetStockObject(LTGRAY_BRUSH)
hOldBrush=SelectObject(hdc,hBrush)
BitBlt(hdc,X,Y,CX,CY,memdc,0,0,SRCCOPY)
SelectObject(hdc,hOldBrush)
DeleteDC(memdc)
DeleteObject(hBmp)
End Function
draw(0,0,320,320)
Sleep(10000)
ExitProcess(0)[/code]
追記 2006/12/31 20時頃
bmpを表示するとかそういう割と応用的な事よりも、1週間目のビギナーさんなら基礎基本をしっかり固める方が先だと思います。