Avatar billede jgthb Nybegynder
02. september 2006 - 19:24 Der er 6 kommentarer og
1 løsning

hint TMenuItem

Hej

Jeg vil godt have, et hint vises til et menuelement. Det skal frem i et hintvindue, ikke nogle alternative løsninger med TStatusBar. Jeg fandt dette i Hjælp, men jeg kan ikke få det til at virke:

"Hint property (TMenuItem)
_________________________

Specifies the text string that can appear when the user moves the mouse pointer over a menu item.

Delphi syntax:

property Hint: string;

C++ syntax:

__property AnsiString Hint = {read=FHint, write=FHint};

Description

Set Hint to a string that provides more information about the meaning of the menu item than the Caption. The hint text appears in a Help Hint window when the user pauses with the mouse over the menu item if Help Hints are enabled (that is, if the Form’s and the Application’s ShowHint properties are true). It is also available for the code in the application’s OnHint event handler.

The value of Hint can specify both a short value for the Help Hint window and a longer string to be used by the OnHint event handler. To provide both a short and a long hint, set Hint to the short string, followed by a vertical bar (|), followed by the long string.

Note:    This property is not stored with the menu item if it is supplied by a TAction object."
Avatar billede kroning Nybegynder
03. september 2006 - 10:04 #1
Avatar billede jgthb Nybegynder
03. september 2006 - 16:02 #2
Herligt. Du lægger bare et svar.

Jeg har lige nogle få spørgsmål i tilfælde af, at du selv kender til koden.

Første gang man går ind i sin menu og peger på et felt med et hint, kommer hintet frem, men noget af det gemmer sig bag menuen. Derefter virker det fint, og hintet kommer helt frem foran menuen. Det må vel kunne rettes?

Jeg kan heller ikke finde ud, hvor farven til hintet bestemmes i koden. Ved du det?
Avatar billede kroning Nybegynder
03. september 2006 - 16:32 #3
Jeg kender ikke koden og kan ikke lige finde ud af hvorfor det ikke virker rigtig først gang. Mht. farven så kan du sætte den i TMenuItemHint.Create:

constructor TMenuItemHint.Create(AOwner: TComponent);
begin
  inherited;
  Color:=clRed;
  Screen.HintFont.Color:=clWhite;
.
.
Avatar billede kroning Nybegynder
03. september 2006 - 16:39 #4
En måske lidt fusket måde at løse problemet på kunne være at aktivere hint vinduet en enkelt gang ved program start uden at vinduet kan ses ved at sætte bredden til 0

procedure TForm1.FormCreate(Sender: TObject);
var
    r : TRect;
begin
  miHint := TMenuItemHint.Create(self);
  r.Left:=0;r.Right:=0;
    miHint.ActivateHint(r,'');
end; (*FormCreate*)
Avatar billede jgthb Nybegynder
03. september 2006 - 16:40 #5
smart. jeg afprøver det lige
Avatar billede kroning Nybegynder
03. september 2006 - 16:41 #6
Og et svar.
Avatar billede jgthb Nybegynder
03. september 2006 - 16:53 #7
det virker jo som en drøm. Tusind tak for hjælpen. Læg du bare et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester