Device Context Win32 et StartDrawing de Pure basic

Sujets variés concernant le développement en PureBasic
marsu
Messages : 7
Inscription : ven. 16/mai/2008 7:18

Device Context Win32 et StartDrawing de Pure basic

Message par marsu »

Bonjour à tous,
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