Autor Beitrag
derschläfer
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 15.03.17 18:06 
Hallo,

ich wollte mal Fragen wie man in einem Edit Feld einen grauen kursiven Text anzeigen lassen kann, der verschwinden, wenn der cursor dieses Feld betritt bzw wenn etwas reingeschrieben wurde.
Der Hinweis soll natürlich anzeigen was in das Feld vom Nutzer reingeschrieben werden soll.
Und er sollte auch wieder erscheinen, wenn der cursor (bzw caret, also das textblinkdings) das Feld wieder verlässt und dieses immernoch leer ist.

Bisher habe ich es mit dem onclick Ereignis versucht, was aber sehr umständlich ist, da man ja dann auch für jedes andere Element im Formular das onclick Ereignis definieren müsste, dass wenn das edit feld leer ist, der Hinweis wieder erscheinen soll(ansonsten würde der Hinweis ja bei einmaligem Klicken ins Edit Feld für immer weg sein)

würde mich sehr über Hilfe freuen!

Danke schonmal


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 16.03.2017 um 17:06
t.roller
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 118
Erhaltene Danke: 34



BeitragVerfasst: Mi 15.03.17 19:42 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  Edit1.Font.Style:= Edit1.Font.Style - [fsItalic];
  Edit1.Tag:= 0;
end;

procedure TForm1.Edit1MouseEnter(Sender: TObject);
begin
if Edit1.Text='' then
BEGIN
  Edit1.Font.Style:= Edit1.Font.Style + [fsItalic];
  Edit1.Tag:= 1;
  Edit1.Text:='EinenTexteingeben';
END;
end;

procedure TForm1.Edit1MouseLeave(Sender: TObject);
begin
if Edit1.Tag=1 then
BEGIN
  Edit1.Font.Style:= Edit1.Font.Style - [fsItalic];
  Edit1.Tag:= 0;
  Edit1.Text:='';
END;
end;
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 15.03.17 20:57 
Einfacher ist es einfach den gewünschten grauen Text in die Eigenschaft TextHint einzutragen. Dann braucht man gar nichts weiter machen. ;-)