Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Delphi Labels umfärben (https://www.delphipraxis.net/3528-labels-umfaerben.html)

Hansa 17. Mär 2003 10:48


Labels umfärben
 
Hi,

wird jetzt etwas schwierig zu erklären, was ich tun will. 8) Ich habe eine Form mit ca. 250..500 Labels. Wird eines dieser Labels angeklickt soll es seine Farbe ändern. Das ist ja an sich kein Problem, aber ich habe keine Lust das bei so vielen Labels von Hand zu machen.

Hinzu kommen noch Standard-Labels, die so bleiben sollen, wie sie sind. Werde deshalb wahrscheinlich eine neue Klasse von Labels ableiten müssen, die sich wie beschrieben verhalten. Die Preisfrage ist nun, wie ich der neuen Klasse das beibringe :?: Ich habe mal bei FindComponent oder ActiveControl usw. nachgeschaut, aber komme nicht weiter.

Darty 17. Mär 2003 11:03

Eine Form mit 250 bis 500 Labels ?? :shock: Was wird es den ?

Hansa 17. Mär 2003 11:35

Das wird kein Spiel. Das macht doch jeder. Ein Schreibfehler ist es auch nicht. Na gut etwas mehr kann ich ja verraten. :mrgreen: Ich bastele mir ein Menüsystem. Hab gerade nachgeguckt: aktueller Stand 248 Menüpunkte und Ende noch nicht erreicht. Das ganze soll aus Kompatibilitätsgründen und um Bill Gates zu ärgern eben nicht wie ein hundsgewöhnliches Win-Programm aussehen. Desweiteren soll es etwas einfacher zu handhaben sein, als ein Win-Pulldown-Menü. Z.B. soll mit Eingabe von 2435 das Hauptmenü 2 gewählt werden, dessen Untermenü 4, davon das UnterUnter-menü 3 und dann endlich das Unterprogramm 5. Wer sich also damit auskennt und weiß was er will, der gibt einfach blind 2435 ein und ist am gewünschten Ziel.

Leute, der Mensch ist ein Gewohnheitstier. Und diejenigen, die mit dem Programm mal arbeiten sollen, benutzen den Computer zu 90 % für dieses Programm. Für die restlichen 10 % erklär ich lieber mal jemand, daß er aus Word mit ALT-F4 rauskommt, als diesen Unfug auch noch in mein eigenes Programm einzubauen. Mit Tab zum nächsten Feld zu gehen ist genau so ein Schwachsinn. Das geht bei mir mit Enter. Es gibt Leute, die können noch Schreibmaschine mit 10 Fingern schreiben. Mit dem kleinen Finger der rechten Hand gehen die in die nächste Zeile. liegt da in der Nähe vielleicht die Tab-Taste?

OK, das ist vielleicht Off-Topic, aber ich meine, daß mußte mal gesagt werden. Kommentare erwünscht.

Luckie 17. Mär 2003 11:56

Zitat:

Zitat von Hansa
Desweiteren soll es etwas einfacher zu handhaben sein, als ein Win-Pulldown-Menü. Z.B. soll mit Eingabe von 2435 das Hauptmenü 2 gewählt werden, dessen Untermenü 4, davon das UnterUnter-menü 3 und dann endlich das Unterprogramm 5. Wer sich also damit auskennt und weiß was er will, der gibt einfach blind 2435 ein und ist am gewünschten Ziel.

Du weißt, was für ein Effekt ein Unterstrichener Buchstab ein einem Menü hat und wie man das erreicht?
Zitat:

Mit Tab zum nächsten Feld zu gehen ist genau so ein Schwachsinn. Das geht bei mir mit Enter. Es gibt Leute, die können noch Schreibmaschine mit 10 Fingern schreiben. Mit dem kleinen Finger der rechten Hand gehen die in die nächste Zeile. liegt da in der Nähe vielleicht die Tab-Taste?
Eien Schreibmaschine hat auch keinen Ziffernblock und nächste Zeile <> nächstes Kontroll. Desweitern hat es sich unter Windows so eingebürgert, dass es mit TAB zum nächsten Kontroll.
Zitat:

Das geht bei mir mit Enter.
Und was passiert bei einem Memo? Neue Zeile oder nächste Kontroll? :roll:

Aber zurück zum Thema. So wie es aussieht, hast du das alles schlecht geplant. Das jetzt nocvh hinzubiegen wäre Murks und ein rumgeflicke mit Änderungen an allen Ecken und Enden.
Fang noch mal von vorne an, aber dies mal richtig geplant udn strukturiert. das würd eich für das Beste halten.

Ich hoffe, du stellst mal ein Demo zur verfügen, das will ich sehen und Testen. (Standards haben sich nicht umsonst durchgesetzt.)

Chewie 17. Mär 2003 11:57

Du musst ganz einfach die OnClick-Prozedur deiner Labels auf eine Prozedur umbiegen und dort über den Sender die Farbe ändern. Etwa so:

Delphi-Quellcode:
Label1.OnClick := ClickEvent; //das bei allen Labels über den OI einstellen

procedure ClickEvent(Sender: TObject);
begin
  (Sender as TLabel).Color := clRed;
end;

Luckie 17. Mär 2003 12:14

Zitat:

Zitat von Hansa
Leute, der Mensch ist ein Gewohnheitstier.

Eben und deswegen sollte man bei den Standards bleiben.

Noch mal zu Return und TAB. Ein Dialog hat bei mir mehrere Edits und einen OK-Button um den Dialog zu schließen und die Eingaben zu übernehmen. Mit TAB zum nächsten Kontroll udn mit Return wird der OK-Button "gedrückt", die Eingaben über nommen und der Dialog geschlossen. das ist Standard. bei dir müßte ich erst mit Return ducrh alle Felder durch um den OK-Button zuerreichen, auch wenn ich nur im Ersten Edit was geändert habe.

Hansa 17. Mär 2003 12:36

Zitat:

Zitat von Luckie
Du weißt, was für ein Effekt ein Unterstrichener Buchstab ein einem Menü hat und wie man das erreicht?

Du meinst & :mrgreen:

Das hab ich vergessen zu sagen : Das mit Anwahl per Zahl geht bereits. Aber ohne & (mit onkeypress). Das mit ALT usw. ist zwar Windows Standard, aber warum zwei Tasten drücken, wenn eine ausreicht. Und mit ESC komme ich wieder eine Menüebene höher. Und nicht mit ALT-F4. Desweiteren versuche ich, die Anzahl der Untermenüs unter 10 zu halten. Bisher geht das gerade noch.

Zitat:

Eine Schreibmaschine hat auch keinen Ziffernblock und nächste Zeile <> nächstes Kontroll. Desweitern hat es sich unter Windows so eingebürgert, dass es mit TAB zum nächsten Kontroll.
Das hat nicht nur mit dem Ziffernblock was zu tun! CR heißt auf Deutsch Wagenrücklauf. Und diese Taste befindet sich auf der rechten Seite unter Backspace und nicht links. Ich habs vorsichtshalber so gemacht, daß es trotzdem auch mit Tab geht.

Zitat:

Und was passiert bei einem Memo? Neue Zeile oder nächste Kontroll? :roll:
Jetzt hast Du mich erwischt. :chat: Aber dazu gibt es zwei Möglichkeiten : Entweder es wird die berühmte Ausnahme der Regel. :mrgreen: Oder aber (so ist es im Moment) ich benutze die nur für Ausgaben. Mit Listboxen dürfte das auch so durchzuziehen sein.

[qoute]
...
Fang noch mal von vorne an, aber dies mal richtig geplant udn strukturiert. das würde ich für das Beste halten....
(Standards haben sich nicht umsonst durchgesetzt.)[/quote]

Das stimmt. Ich bin da aber erst am Anfang. Die 248 Menüpunkte sind zwar soweit fertig, aber nicht das Menü selbst. Die will ich da rein bauen.

@Chewie: das sieht gut aus! Probier das heute mittag aus.

Ah! Noch was: gestern habe ich vier Leuten das Programm gezeigt. Einmal im reinen "Windows-Look" und einmal mit meinem. 2 kannten das Programm, 2 nicht. Bei den ersten hatte Windows direkt verloren. Bei den beiden, die es nicht kannten war es in beiden Fällen kein Problem. Nur, die Bedienung der reinen Windows-Version dauerte doppelt so lange.

Hansa 17. Mär 2003 12:39

Zitat:

Zitat von Luckie
..ich erst mit Return ducrh alle Felder durch um den OK-Button zuerreichen, auch wenn ich nur im Ersten Edit was geändert habe.

Wieso ? Du mußt doch auch mit Tab durch die Felder, oder ? Oder Du clickst den button direkt an, wie bei mir auch. Tab ist auch nicht abgeschaltet, ich kann aber ZUSÄTZLICH auch Enter/Return benutzen.

Luckie 17. Mär 2003 12:47

Der OK-Button ist der Default-Button und reagiert somit auf Return auch wenn ein anderes Kontroll den Fokus hat.

Darty 17. Mär 2003 12:49

Hansa ... uppe doch mal ne screenshot von deiner "neuen" Menue. Nur um es sich mal besser vorstellen zu können ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:57 Uhr.
Seite 1 von 2  1 2      

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