MaskedEdit Obsługa space

0

chciałbym, uzyskać 5 znakową nazwę, przy czym uzywać można tylko liter oraz znaku '_' zamiast spacji.
W tym celu ustawiam:

MaskedEdit1.EditMask ustaiam na aaaaa;1;_

teraz wprowadzając tekst, żeby zrobić przerwę, musze wcisnąć strzałke w prawo. Spacja jest znakiem nie dozlowlonym więc komponent w ogóle nie reaguje na jej wciśnięcie. Czy da się zrobić( bez ubsługi eventów kontrolki ), żeby wciskając spacje powstawała przerwa( czyli wstawiany był znak '_' )?

0

Zrób własny komponent dziedziczący po nim, który będzie to obsługiwał... lub przejmij event kontrolki - właściwie wyjdzie na jedno.
Co jest nie tak w tym drugim rozwiązaniu?

0

A maska ccccc;1;_ nie może być?

0

wtedy w nazwie będą mogły pojawić się znaki !@#$% itp. ponadto przy wprowadzeniu spacji efekt będzie taki:

NAM 1

a fajnie by było mieć taki:

NAM_1
2

Niech na ekranie sobie zostaje spacja, tylko wczytuj: str:=StringReplace(Edit1.Text,' ','_',[rfReplaceAll]);

0

że tak powiem, " O ! ".
to mogę zrobić na onChangu lub na LiveBinding

Edit1.Text :=StringReplace(Edit1.Text,' ','_',[rfReplaceAll]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1