Sender i caption

0

No własnie, chce przekazać do procedury caption TMainMenu itema, którego była wywołana.

I nie działa.. sprawdziłem to tak:

<font color="blue">ShowMessage(((Sender as TComponent) as TMenuItem).Caption);</span>

I pierwsza litera jest podkreślona... nie wiem czemu - a typy się zgadzają, jednak porównanie - nie. O co chodzi z tą pierwszą literą podkreśloną ?

0

Jeżeli postawisz znak & przed jakąs literą to ta litera jest podkreślona. W sumie myslałem że to dziala tylko w Menu ale jak widać w ShowMessage też. Jeżeli chcesz się tego koniecznie pozbyć to dajesz np.

[code]ShowMessage(StringReplace((Sender as TMenuItem).Caption, '&', '', [rfReplaceAll]));[/code]

Aha, i wystarczy[code] (Sender as TMenuItem).Caption [/code], nie musi być [code]((Sender as TComponent) as TMenuItem).Caption[/code]

0

Nie wnikam w temat, ale aby uzyskać znak "&" jeśli jest on zamieniany na podkreślenie następnego znaku, powiniwneś użyć "&&".

0

ShowMessage(((Sender as TComponent) as TMenuItem).Caption);

Em... Już w http://4programmers.net/Forum/viewpost.html?id=87068&h= mówiłem Ci żebyś nie konwertował najpierw na TComponent a potem na MenuItem bo właśnie w ten sposób sam sobie blokujesz dostęp do danej właściwości. Musisz dać od razu as TMenuItem.
Bez urazy ale mówili, że inteligencja to zdolność uczenia się na podst. zdobytego doświadczenia (czyt. na błędach)...

0

Spokojnie, po prostu zanim zobaczyłem tamtego posta, ten już był napisany.. nie ma się co gorączkowach.

Ale najważniejsze że już wszystko działa. Thanks too all.

1 użytkowników online, w tym zalogowanych: 0, gości: 1