Seite 1 von 1

StringGadgets mit maximaler Zeichenanzahl realisiere (Win32)

Verfasst: 29.12.2004 19:26
von blbltheworm
Unter VB gibt es die Möglichket einer Textbox (StringGadget) eine maximale Länge zuzuweißen, sodass sie z.B. nicht mehr als 4 Zeichen beinhalten kann.
Unter PB hab ich diese Funktion leider noch nicht gefunden, deshalb hab ich sie mit Hilfe zweier Codeschnipsel von Danilo selbstgeschrieben.
Die Funktion muss jedesmal aufgerufen werden, wenn der Inhalt der Textbox verändert wurde (EventType()=#PB_EventType_Change) .

Code: Alles auswählen

Procedure chkLen(gadget.l,Length.l)
  Protected CurPos.l
  Protected tmpText.s
  tmpText=GetGadgetText(gadget)
  If Len(tmpText)>Length
    SendMessage_(GadgetID(gadget),#EM_GETSEL,@CurPos,@Max)
    SetGadgetText(gadget,Left(tmpText,Length))
    SendMessage_(GadgetID(gadget),#EM_SETSEL,CurPos,CurPos)
  EndIf
EndProcedure
Falls es diese Funktion bereits geben sollte würde es mich interesieren wie sie heißt.

Verfasst: 29.12.2004 19:32
von Danilo
SendMessage_(GadgetID(gadget),#EM_LIMITTEXT,laenge,0)

...wobei laenge dann z.B. 4 ist.

Verfasst: 29.12.2004 22:33
von blbltheworm
Dou,
wenn ich das gewusst hätte dann hätte ich mir die "Mühe" sparen können.
Aber trotzdem danke für den Code.