AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TEdit zeigt TextHint nicht an, wenn ReadOnly = True

TEdit zeigt TextHint nicht an, wenn ReadOnly = True

Ein Thema von Der schöne Günther · begonnen am 21. Jun 2024 · letzter Beitrag vom 22. Jun 2024
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.167 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 09:46
TextHint ist bei TEdit -Feldern eine nette Eigenschaft, dass man in einem Edit-Feld in grau einen Hinweis-Text einblendet, solange der Benutzer da noch nichts eingegeben hat.

Kann ich das TextHint trotzdem anzeigen lassen, auch wenn das Edit-Feld auf ReadOnly = True gesetzt ist?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.471 Beiträge
 
Delphi 12 Athens
 
#2

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 10:02
Ich fürchte, das wird nicht so einfach sein. Das Verhalten ist offenbar intern im Windows-Control so implementiert und lässt sich offenbar nicht ändern.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.122 Beiträge
 
Delphi 12 Athens
 
#3

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 11:56
Jupp, da wirst du leider das Edit ableiten müssen und den Text selbst malen (nur wenn ReadOnly und Text='', sonst einfach den Default-Painter lassen).
Es gibt bestimmt auch noch irgendwo Beiträge im Netz, wo jemand das Paint vom TEdit überschrieben hat, um "früher" ein ähnliches Verhalten zu implementieren.

Wenn der Text nicht selektier und kopierbar sein muß,
dann ein unsichtbares TPanel drumrum (BevelOuter=bvNone und auch Caption leer und/oder ShowCaption=False)
und am Ende Panel.Enabled=False anstatt Edit.ReadOnly=True.


Alternativ schauen, was passiert, wenn du einen VCL-Style nutzt (muß nicht für alles, ginge auch nur für dieses Control) ... dort im Style dieses Verhalten anpassen (müsste es dort ja was für diesen Fall geben).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.

Geändert von himitsu (21. Jun 2024 um 12:00 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.167 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 13:09
Danke, so kompliziert wollte ich es gar nicht machen.

Dann hat das Ding halt keinen TextHint. Oder, da es eh readonly ist, schreibe ich selbst Text rein und mache .Font.Color := TColors.Gray oder sowas 😉
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.122 Beiträge
 
Delphi 12 Athens
 
#5

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 13:21
Statt ReadOnly und TextHint
einfach Disabled und (bissl dunkelgrauerer) Text.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.622 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 20:56
Das ist als Eingabeaufforderung gedacht. Insofern ist es irreführend, wenn ein solcher Cue Banner da ist, man aber gar nichts eingeben kann. Daher wird das entsprechend dann nicht angezeigt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
249 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 21. Jun 2024, 21:54
Ein Hinweis wie 'Aktuelle keine Eingabe möglich, da der Hund noch nicht gefüttert wurde' könnte aber durchaus für den Nutzer hilfreich sein.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.122 Beiträge
 
Delphi 12 Athens
 
#8

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 22. Jun 2024, 09:15
Aber es nervt auch, wenn man reingeklickt hat, nicht mehr weiß, was man eintippen soll und dann erstmal wieder raus muß, um es lesen zu können.
Ist ja fast so schlimm, wie wenn die ListBox die Markierung nicht mehr zeigt, wenn der Fokus raus ist.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.471 Beiträge
 
Delphi 12 Athens
 
#9

AW: TEdit zeigt TextHint nicht an, wenn ReadOnly = True

  Alt 22. Jun 2024, 10:17
Aber es nervt auch, wenn man reingeklickt hat, nicht mehr weiß, was man eintippen soll und dann erstmal wieder raus muß, um es lesen zu können.
Aber dem kann man ja abhelfen:
Delphi-Quellcode:
type
  TEdit = class(Vcl.StdCtrls.TEdit)
  protected
    procedure DoSetTextHint(const Value: string); override;
  end;

procedure TEdit.DoSetTextHint(const Value: string);
begin
  if CheckWin32Version(5, 1) and StyleServices(Self).Enabled and HandleAllocated then
    SendTextMessage(Handle, EM_SETCUEBANNER, WPARAM(1), Value);
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz