Focus avec un WebGadget

Programmation d'applications complexes
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Focus avec un WebGadget

Message par Le Soldat Inconnu »

Coucou, je coince sur un truc :

Je n'arrive pas à savoir si un webgadget à le focus ou non.

Avec getactivegadget(), ca ne marche pas, ou alors j'ai fait ca comme un pied.

Si vous avez une idée

Merci
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Bien s'il n'est pas possible de détecter le focus avec l'API GetFocus_() alors je suppose qu'il faut que tu détectes le click sur le WebGadget; un mouse Hook te permettrait de faire facilement cela.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Un code du forum anglais:

Code : Tout sélectionner

Procedure WinCallback(hwnd, msg, wParam, lParam)
  result = #PB_ProcessPureBasicEvents
  If msg = #WM_PARENTNOTIFY
    Select wParam &$FFFF
      Case #WM_LBUTTONDOWN, #WM_RBUTTONDOWN
        hGad = ChildWindowFromPoint_(hwnd, lParam &$FFFF, lParam >>16 &$FFFF)
        idGad = GetDlgCtrlID_(hGad)
        SetGadgetText(2, "Focused Gadget ID is #" + Str(idGad) + " " + GetGadgetItemText(idGad, #PB_Web_PageTitle))
    EndSelect
  EndIf
  ProcedureReturn result
EndProcedure
If OpenWindow(0, 0, 0, 600, 500, "", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar)
  If CreateGadgetList(WindowID(0))
    WebGadget(0, 0, 0, 600, 230, "http://www.google.com")
    WebGadget(1, 0, 260, 600, 230, "http://www.yahoo.com")
    StringGadget(2, 0, 235, 600, 25, "")
    SetGadgetColor(2, #PB_Gadget_BackColor, #Red)
    SetGadgetColor(2, #PB_Gadget_FrontColor, #White)
    SetActiveGadget(2)
    SetWindowCallback(@WinCallback())
  EndIf
EndIf

Repeat
 
  event = WaitWindowEvent()
 
Until event = #PB_Event_CloseWindow

End
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Cool, merci Nico
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre