Einzelnen Beitrag anzeigen

aayb

Registriert seit: 9. Jan 2008
14 Beiträge
 
#1

HilfeText- OnMouseEnter (Array?)

  Alt 7. Feb 2008, 12:36
Hallo zusammen,

ein kleines Problem hindert mich momentan meine ToDo-Liste abzuarbeiten

Kurz zur Beschreibung:
* Es gibt viele TEdit- Felder fuer die Eingabe (Logisch )
* Geht der Nutzer nun mit der Maus ueber diese Eingabe soll ein Hilfetext erscheinen.
(Das ganze soll allerdings nicht mit "Hint" geloest werden (Man muss zu lange warten - es liest kaum einer))
* Der Hilfetext steht in einem extra dafuer angelegten TMemo-Feld

- Soweit klappt natuerlich alles

Ich habe alle TEdit-Felder mit der OnMouseEnter- Funktion auf eine Prozedur (OnMouseOverHelp) ausgestattet.
Diese sieht momentan, ganz simpel beispielhaft fuer 2 Felder so aus:
Delphi-Quellcode:
procedure TForm1.OnMouseOverHelp(Sender: TObject);
begin
 if (sender as tcomponent).name = 'eingabe1then
  MemoHelp.Text := 'Hilfetext 1 - Test 1 2 3 4 5'
 else if (sender as tcomponent).name = 'eingabe2then
  MemoHelp.Text := 'Hilfetext 2 - Test 6 7 8 9 0';
end;
Stellt man sich das ganze fuer 30-40 Felder vor, ist es natuerlich total unuebersichtlich.

Meine Idee war jetzt, das ganze in ein Array, bzw. eine Switch-Case zu setzen.

Problem 1)
So weit mir bekannt ist, kann ich Arrays aber nicht ueber array['eingabe1'] ansprechen - sondern nur ueber array[1].
(Egal ob das Array aus Strings oder Integer besteht)

Problem 2)
Das gleiche gilt fuer Switch-Case. Auch hier kann ich nur ueber Integer gehen.

Eine Moeglichkeit waere, das Switch-Case zu verbiegen - Hier habe ich schon einige Ansaetze gesehen, wie man dieser Funktion auch Strings beibringt. Ist das ganze wirklich so sauber?

Gibt es denn Moeglichkeiten, das Array per Namen anzusprechen? Alternativen?
Wie koennte man das Problem noch schoener loesen?

Bin natuerlich fuer jede Hilfe Dankbar!

Gr.
aayb
  Mit Zitat antworten Zitat