Positionement caret dans canvas gadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Positionement caret dans canvas gadget

Message par microdevweb »

Bonjour,

Comment fait on pour positionner le caret / saisie clavier dans un canvas gadget

Merci d'avance
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Positionement caret dans canvas gadget

Message par Mesa »

Je crois qu'on ne peut pas sans utiliser les api.

Sous Windows, ça donnerait quelque chose comme ça :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 220, 220, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CanvasGadget(0, 10, 10, 200, 200)
  
  
  EdWin= GetActiveWindow()
  CarH=12
  CreateCaret_(WindowID(EdWin),0,1,CarH) ; Create a cursor...
  SetCaretPos_(100,100)
  ShowCaret_(WindowID(EdWin))
  
  
  Repeat
    Event = WaitWindowEvent()
    
    If Event = #PB_Event_Gadget And EventGadget() = 0 
      If EventType() = #PB_EventType_LeftButtonDown Or (EventType() = #PB_EventType_MouseMove And GetGadgetAttribute(0, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
        If StartDrawing(CanvasOutput(0))
          x = GetGadgetAttribute(0, #PB_Canvas_MouseX)
          y = GetGadgetAttribute(0, #PB_Canvas_MouseY)
          Circle(x, y, 10, RGB(Random(255), Random(255), Random(255)))
          StopDrawing()
        EndIf
      EndIf
    EndIf    
    
  Until Event = #PB_Event_CloseWindow
EndIf

;http://msdn.microsoft.com/en-us/library/windows/desktop/ms648405%28v=vs.85%29.aspx
;Getcaretpos() : http://msdn.microsoft.com/en-us/library/windows/desktop/ms648402%28v=vs.85%29.aspx
;DestroyCaret_()
;HideCaret()
Mesa.
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Positionement caret dans canvas gadget

Message par microdevweb »

Merci mesa,

Je pense également que sans les Api ce ne soit possible, (ou en le programmant graphiquement peut-être ce qui risque de man ger beaucoup de ressource).

Je teste merci encore
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre