Ahoj, potřeboval bych poradit jak změnit vlastnosti komponenty Label, kterou si vytvořím jako New component a přidám ji na form. Potřeboval bych, aby se při přejetí kurzoru myši přes label nebo kliknutí změnila barva labelu a popřípadně i písma, které bude obsahovat. Jsem úplný začátečník, tak prosím podrobně a jednoduše:) Ocením jakoukoliv radu. Díky.
Fórum › Delphi
Vlastnosti Labelu
Kdyz si na formu vyberes Label, u ktereho to chces zmenit, tak v okne Object inspector je zalozka Events, tam si najdes udalost na pohyb myse -> OnMouseMove a poklepes, delphi ti pripravi prislusnou metodu, do ktere napises kod, ktery se ma vykonat.
Pro zmenu barvy labelu to bude asi neco ve smyslu
Label.Color := clRed;
a pro pismo Label.Font.Color := clBlue;
PS: principem je to snad spravne, ale syntaxi si moc jistej nejsem, uz jsem delphi dlouho nevidel
To joudicek : díky za radu, ale už jsem to odpoledne trochu pořešil a barvy se mi mění, ale problém je že když kliknu na Label změní se barva, ale už tak nezůstane, protože když hnu myší mimo Label, dá se na něj zpět barva, která je určená v proceduře MouseLeave....zkoušel jsem to nějak přes if, ale nic mi to nebere..
To Anonymní uživatel : Jak presne to ma fungovat? Najedes na label a zmenis barvu, pokud nekliknes a odjedes mysi, barva se ma zmenit na puvodni? Pokud kliknes, zustane barva nova?
pokud je to tak, tak bych to udelal asi takhle:
SaveColor:TColor; //do formu si pridat jednu privatni promennou -> SaveColor
Udalost MouseEnter provede:
SaveColor:=Label1.Color; //ulozi aktualni barvu do SaveColor
Label1.Color := clNovaBarva; // zmeni barvu labelu
Udalost OnClick provede:
SaveColor := Label1.Color; //ulozeni aktualni(zmenene) barvy do privatni promenne
Udalost OnMouseLeave provede:
Label1.Color := SaveColor; // nastaveni barvy dle ulozene barvy v privatni promenne (tzn. Pokud byl klik -> nova, jinak puvodni)
Snad to je to co chces, asi to jde udelat i jinak, ale tohle mi prislo jako nejjednodussi a nejrychlejsi....
díky moc, docela mě to inspirovalo.... vyřešil jsem to přes integer hodnotu, pokud jsem kliknul myší tak i=i+1 , když i=1 tak barva zůstala když sem kliknu po 2 tak se barva změnila při i=2....
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
C+ doplnění do labelu — založil Krpik
Vytvoření labelu — založil CZ_Paja
Obrazek v labelu — založil Jakub
C# vytváření nových labelů — založil Tomas491
V labelu kolik se stahlo — založil Lukas