est-ce que quelqu'un saurait comment rendre comptible avec win32, le device contexte renvoyé par startdrawing ?
Code : Tout sélectionner
Procedure WndProc(hWnd, Msg, wParam, lParam)
Protected ps.paintstruct,r.rect
Select Msg
Case #WM_PAINT
BeginPaint_(hwnd, ps)
hdcW = ps\hdc
hdcPB = StartDrawing(WindowOutput(0)) ; Fonctionne mal avec les fonctions Win32 !?
;--------------------------
; DEVICE CONTEXT PureBASIC
;--------------------------
r\top = 50
r\left = 10
r\bottom=r\top+15
r\right=r\left+15
DrawFrameControl_(hdcPB,r,#DFC_BUTTON,#DFCS_BUTTONCHECK|#DFCS_CHECKED)
r\left = 30
r\bottom=r\top+15
r\right=r\left+80
; ---------
MoveToEx_(hdcPB,r\left,r\top,0) ; Obligé de forcer le déplacement !?
; ---------
DrawText_(hdcPB,"Check",-1,@r, #DT_END_ELLIPSIS | #DT_LEFT)
r\top + 30
r\left = 10
r\bottom=r\top+15
r\right=r\left+15
DrawFrameControl_(hdcPB,r,#DFC_BUTTON,#DFCS_BUTTONCHECK)
r\left = 30
r\bottom=r\top+15
r\right=r\left+80
MoveToEx_(hdcPB,r\left,r\top,0)
DrawText_(hdcPB,"UnCheck",-1,@r, #DT_END_ELLIPSIS | #DT_LEFT)
;----------------------
; DEVICE CONTEXT WIN32
;----------------------
r\top = 130
r\left = 10
r\bottom=r\top+15
r\right=r\left+15
DrawFrameControl_(hdcW,r,#DFC_BUTTON,#DFCS_BUTTONCHECK|#DFCS_CHECKED)
r\left = 30
r\bottom=r\top+15
r\right=r\left+80
DrawText_(hdcw,"Check",-1,@r, #DT_END_ELLIPSIS | #DT_LEFT)
r\top + 30
r\left = 10
r\bottom=r\top+15
r\right=r\left+15
DrawFrameControl_(hdcW,r,#DFC_BUTTON,#DFCS_BUTTONCHECK)
r\left = 30
r\bottom=r\top+15
r\right=r\left+80
DrawText_(hdcW,"UnCheck",-1,@r, #DT_END_ELLIPSIS | #DT_LEFT)
StopDrawing()
EndPaint_(hwnd, ps)
ProcedureReturn
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
OpenWindow(0,0,0,200,200,"Test device Context")
SetWindowCallback(@WndProc())
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver