Seite 2 von 2

Verfasst: 25.04.2009 10:28
von ts-soft
Shift + Einfügen geht tatsächlich, danach ist das Stringgadget aber unbenutzbar :mrgreen:

Verfasst: 25.04.2009 10:30
von Andesdaf
ts-soft hat geschrieben:Shift + Einfügen geht tatsächlich, danach ist das Stringgadget aber unbenutzbar :mrgreen:
Genau. Per Markierung und ENTF dann aber wieder.

Verfasst: 25.04.2009 10:38
von ts-soft

Code: Alles auswählen

EnableExplicit

Global oldStringGadgetCB

Procedure StringGadgetCB(hWnd, uMsg, wParam, lParam)
  Select uMsg
    Case #WM_CHAR
      Select wParam
        Case 47 To 57 ; erlaubte Zeichen 0 - 9
        Default
          ProcedureReturn #False
      EndSelect
    Case #WM_CONTEXTMENU ; Kontextmenü unterdrücken
      ProcedureReturn #False
  EndSelect
  If GetAsyncKeyState_(#VK_SHIFT)
    ProcedureReturn #False
  EndIf
  ProcedureReturn CallWindowProc_(oldStringGadgetCB, hWnd, uMsg, wParam, lParam)
EndProcedure

OpenWindow(0, #PB_Ignore, #PB_Ignore, 200, 40, "test", #PB_Window_SystemMenu)
StringGadget(0, 10, 10, 180, 20, "")
SetActiveGadget(0)

oldStringGadgetCB = SetWindowLongPtr_(GadgetID(0), #GWL_WNDPROC, @StringGadgetCB())

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

Verfasst: 25.04.2009 11:13
von Andesdaf
jetzt ist es wirklich numeric :allright: