Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Memo (https://www.delphipraxis.net/196122-memo.html)

DomPerle 24. Apr 2018 16:08

Memo
 
Betrifft Memo: Wie kann ich die Farbe eines Textes beibehalten, auch wenn ENABLED = FALSE gesetzt wurde.

KodeZwerg 24. Apr 2018 16:19

AW: Memo
 
Das geht glaube ich nicht.
Setz lieber auf readonly, dann bleiben Farben.
edit
Vielleicht kannst du den disabled-tedit-font-colour link dafür verwenden?

Luckie 24. Apr 2018 17:47

AW: Memo
 
Geht es hier um das VCL Memo? Dafür haben wir doch eine eigene Sparte. Und beim nächsten mal bitte einen etwas aussagekräftigeren Titel bitte.

Alallart 24. Apr 2018 18:17

AW: Memo
 
Zitat:

Zitat von DomPerle (Beitrag 1400368)
Betrifft Memo: Wie kann ich die Farbe eines Textes beibehalten, auch wenn ENABLED = FALSE gesetzt wurde.

Der Tipp von KodeZwerg ist gut, hat aber den Nachteil, dass man bei ReadOnly den Text markieren kann. Ist das kein Problem, ist es die erste Wahl.

Ein kleiner Trick ist es das Memo in ein Panel zu setzen und nur das Panel zu deaktivieren. Da das Panel deaktiviert ist, sind alle Komponenten drauf auch deaktiviert, behalten aber ihre Farben, dh sie werden nicht grau.

DP-Maintenance 24. Apr 2018 18:52

Dieses Thema wurde am "24. Apr 2018, 19:52 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "GUI-Design mit VCL / FireMonkey / Common Controls" verschoben.

KodeZwerg 24. Apr 2018 19:22

AW: Memo
 
Zitat:

Zitat von Alallart (Beitrag 1400387)
Der Tipp von KodeZwerg ist gut

...und beinhaltet Deinen Tipp als Link :thumb:

Alallart 24. Apr 2018 20:55

AW: Memo
 
KodeZwerg, wenn du einem mitteilen möchtest, dass wenn er eine Komponente auf ein deaktiviertes Panel ablegt, die Komponente ihre Farben behalten. Warum ein Link?

KodeZwerg 24. Apr 2018 21:36

AW: Memo
 
Zitat:

Zitat von Alallart (Beitrag 1400396)
Warum ein Link?

Weil sich andere schon mal darüber Gedanken gemacht haben, es wahrscheinlich die Lösung ist, ich mich nicht mit deren Federn schmücken will, man Eigenständig in der Lage sein sollte auf einen Link zu klicken und bei Fragen, Fragen.
Ist deine Frage damit beantwortet? Weil ich jetzt ins Bett muss, Gute Nacht :P

Alallart 24. Apr 2018 21:47

AW: Memo
 
Warum mit fremden Federn schmücken? Wer eine Zeitlang mit Delphi programmiert, weist das irgendwann. Das ist auch eine einfach Methode mit einer Zeile ein Dutzend Komponenten zu deaktivieren.

Gute Nacht, schlaf schön.

himitsu 24. Apr 2018 22:22

AW: Memo
 
Allerdings entgegen sämtlichen Styleguides.

Es ist ja geradezu beabsichtig, dass man einer Komponente ihren Zustand ansieht.
Stell dir mal vor man für den Buttons nicht mehr ansehn, ob sie gedrückt oder deaktiviert sind.

p80286 24. Apr 2018 23:12

AW: Memo
 
Zitat:

Zitat von himitsu (Beitrag 1400403)
Allerdings entgegen sämtlichen Styleguides.

Es ist ja geradezu beabsichtig, dass man einer Komponente ihren Zustand ansieht.
Stell dir mal vor man für den Buttons nicht mehr ansehn, ob sie gedrückt oder deaktiviert sind.

Mann das ist doch Spitze. Du hast eine aktive Oberfläche, aber sie reagiert nicht wie sie sollte. Ist doch eine tolle Vorstellung wie da so ein .... Benutzer wild irgendetwas anklickt und nicht weiter kommt.

Gruß
K-H

Redeemer 24. Apr 2018 23:55

AW: Memo
 
In deaktivierten Panels kann man zum nicht scrollen.

rokli 25. Apr 2018 06:50

AW: Memo
 
da kann man die Support Erträge erhöhen :cyclops:

jaenicke 25. Apr 2018 07:08

AW: Memo
 
Zitat:

Zitat von KodeZwerg (Beitrag 1400401)
ich mich nicht mit deren Federn schmücken will, man Eigenständig in der Lage sein sollte auf einen Link zu klicken

Dabei vergisst du aber, dass ein solcher Link in ein paar Wochen ungültig sein könnte. Wenn dann jemand später hier eine Frage findet, die genau seiner entspricht, ist nichts ärgerlicher, wenn die Lösung dann nicht mehr zu finden ist... Das ging mir auch schon öfter so... ;-)

KodeZwerg 25. Apr 2018 07:42

AW: Memo
 
Ok, Du hast Recht. Link ist zwar erst 6 Jahre als und funktioniert, falls ich mal wieder auf etwas Antworte dann ohne Link mit viel copy/paste.

himitsu 25. Apr 2018 10:22

AW: Memo
 
Eine Lösung habt ihr vergessen.

Delphi-Quellcode:
Enabled := False;
und ins TMemo.Paint ein eigenes CustomDraw rein.

jaenicke 25. Apr 2018 13:28

AW: Memo
 
Zitat:

Zitat von KodeZwerg (Beitrag 1400423)
falls ich mal wieder auf etwas Antworte dann ohne Link mit viel copy/paste.

Der Link soll ja nicht weg, er ist als Quelle ja durchaus interessant, man sollte nur nicht auf diesen angewiesen sein. Ich schreibe z.B. oft eine kurze Zusammenfassung und verlinke für Details. Dann hat man im Zweifelsfall zumindest Futter für Google.

Alallart 25. Apr 2018 15:10

AW: Memo
 
Zitat:

Zitat von DomPerle (Beitrag 1400368)
Betrifft Memo: Wie kann ich die Farbe eines Textes beibehalten, auch wenn ENABLED = FALSE gesetzt wurde.

Ich habe gerade vor zwei Minuten eine Idee gehabt und hab sie ausprobiert. Es funktioniert, auch ohne Panel.

Setz einfach in OnEnter-Ereignis dein Memo bei Enabled auf False, und bei OnExit-Ereignis Enabled auf True. Dadurch wird das Memo abgeschaltet wenn es den Fokus erhält, lehnt es ab, und schaltet sich wieder ein wenn es den Fokus verloren hat. Im Grunde merkt man die Aktion noch nicht mal. Ein Zirkelschluss ergibt sich daraus auch nicht, habe es geprüft. Und die Scrollbalken funktionieren weiter.
Delphi-Quellcode:
procedure TForm1.Memo1Enter(Sender: TObject);
begin
  Memo1.Enabled := False;
end;

procedure TForm1.Memo1Exit(Sender: TObject);
begin
  Memo1.Enabled := True;
end;

himitsu 25. Apr 2018 16:39

AW: Memo
 
Hmmm, wenn es Enabled:=False wird, dann verliert es den Fokus und es wird sofort wieder OnExit ausgelöst. :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz