Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Popuphilfe bei Mouseover über Combobox


Gabberman - Di 24.10.06 23:39
Titel: Popuphilfe bei Mouseover über Combobox
Moin @ all,

ich hab mal wieder ein Problem... Also ich hab eine Combobox. Nun möchte ich, dass wenn der User mit der Mouse über ein Element geht, dass eine kleine Hilfe dazu erscheint, wie im Delphi-Editor, wenn man eine Combobox irgendwo hin platziert und dann mit der Maus drübergeht (Koordinaten und so...)

Ich würde mich über Antworten und mögliche Lösungsansätze freuen!!!


Euer Gabberman


oldmax - Mi 25.10.06 06:42

Hi
Ich hoffe, das meine Version das selbe kann, wie deine und bei mir ist es der Parameter Hint, der eine solche Hilfe bietet. Mit ShowHint auf True und in Hint dein Text hast du eine Information wenn du mit der Maus über den Element bist.
Diese Parameter kannst du auch zur Laufzeit zuweisen und durch den Einbau von #13 in deinem Infotext ist auch eine mehrzeilige Info möglich.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
.........
  MyInfo   : String;

  ..........
  ..........
  MyInfo:='hier dürfen Eingaben gemacht werden'+#13+'ihr könnts aber auch lassen';
  MyEdit.Hint:=MyInfo;
  MyEdit.ShowHint:=True;
  ..........

Gruß oldmax


Gabberman - Mi 25.10.06 10:45

Danke das geht bei mir aber mein Problem ist eigentlich, dass ich nicht weiß in welche Prozedure ich dsa einfügen muss, denn es gibt sowas wie ein Mouseover ja nicht...
##############################################

Hm, ich habs jetz ins Form Create reingepackt... Das sieht so aus als würde es funzen...


Blackheart666 - Mi 25.10.06 11:12

Schau mal dort, das müsste helfen.
http://delphi.about.com/library/weekly/aa102604a.htm
Blackheart666


oldmax - Mi 25.10.06 13:01

Hi
ok, Blackheart666 hat dir da was zum Lesen angeboten, aber es geht auch kürzer.
Hint ist eine automatisch eingebaute Routine, die dir den Text aus der Eigenschaft "Hint" des entsprechenden Objectes zur Ansicht bringt. Du mußt es nur durch ShowHint:=true zulassen. Den Text kannst du zur Entwurfszeit eingeben oder aber zur Laufzeit zuweisen, und richtig, in Form.Create, oder einer dort aufgerufenen Procedure. Ich mache es meist so, das ich dort ein paar Variablen mit Anfangswerten initialisiere:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Procedure TMyForm.SetProgValues;
Begin
  ......  // Bereich, in welchem nun die globalen Variablen einen Einstiegswert 
          //zugewiesen bekommen, so auch  
  MyEdit.Hint:='blablabla';
  MyEdit.Showhint:=True;
  ......
end;


und in


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Procedure TMyForm.Create(Sender:TObjeckt);
Var ..... // irgendwas...
Begin
  SetProgValues; // vorbesetzen der globalen Variablenwerte
  ..... // und weitere Anweisungen zum Programmstart
end;


Eine Programmierung von onMouseOver ist nicht erforderlich.
Gruß oldmax


Blackheart666 - Mi 25.10.06 13:41

@ oldmax
Es geht hier um eine Combobox, und Ich schätze, was aus der Frage nicht richtig ersichtlich ist um Hints in den einzelnen Items der Combobox.
Blackheart666


oldmax - Mi 25.10.06 15:51

Hi
Sorry, vielleicht sollte ich doch mal richtig lesen lernen.... :oops:
Nun verstehe ich auch das Problem, aber da kann ich nicht helfen. Bei meiner D4-Version is da nix mit "dieMausistübermir-Ereignis".
Gruß oldmax