Přidání vlastnosti do TMenuItems – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Přidání vlastnosti do TMenuItems – Delphi – Fórum – Programujte.comPřidání vlastnosti do TMenuItems – Delphi – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Radim920
Newbie
2. 7. 2008   #1
-
0
-

Potřeboval bych upravit komponentu TMainMenu tak, aby se do její položek (Items) přidala nová vlastnost typu String. Ale nevím, jak to mám udělat. Poradíte?

Nahlásit jako SPAM
IP: 88.146.188.–
Reklama
Reklama
sir_arthur
~ Redaktor
0
Stálý člen
2. 7. 2008   #2
-
0
-

fuha bohuzial vobec nerozumiem co to vlastne chces:)
myslis ako novu polozku na ktoru sa nebude dat klikat?

Nahlásit jako SPAM
IP: 82.119.117.–
@mattonik
Radim92
~ Anonymní uživatel
16 příspěvků
4. 7. 2008   #3
-
0
-

To sir_arthur : Potřebuju ke každé položce hlavního menu přiřadit proměnnou, která bude uchovávat cestu k souboru, který se spustí při události OnClick. Ty položky se generují z textového souboru až za běhu aplikace. Reakce na událost OnClick položky by mohla vypadat asi takto:



procedure TForm1.ItemOnClick(Sender: TObject);
begin
ShellExecute(Handle,'open',PChar((Sender as TMenuItem).MojePromenna),nil,nil,SW_Show);
end;

Takže potřebuji upravit TMenuItem (vytvořit novou komponentu, jenže TMenuItem není komponenta, ale je součástí komponenty TMainMenu) tak, aby obsahovala o vlastnost (property) víc. Další možností by mohlo být vytvářet proměnné typu String (později record, kvůli dalším proměnným), které by ve svém názvu obsahovaly číslo. To číslo bych uložil do vlastnosti tag v Itemu hlavního menu a pomocí něj odkazoval na tu String proměnnou. Jenže nevím jak proměnné typu String za běhu programu vytvářet (jako u objektů: MujObject := TObject.Create(Form1)...) a jak k nim pak přistupovat. Napadá mě, že by se možná dal tag přetypovat na ukazatel, kterým bych na tu String proměnnou (později na record, kvůli daším proměnným) ukazoval.

Nahlásit jako SPAM
IP: 88.146.188.–
Osiris0
Stálý člen
4. 7. 2008   #4
-
0
-

To Radim92 : A co mít v Form1 pole stringů, do kterého bude ukazovat tag z TMenuItem?



procedure TForm1.ItemOnClick(Sender: TObject);

begin

ShellExecute(Handle,'open',PChar(PoleStringu[(Sender as TMenuItem).Tag]),nil,nil,SW_Show);

end;

Nahlásit jako SPAM
IP: 85.70.130.–
Radim920
Newbie
13. 7. 2008   #5
-
0
-

To Osiris : jj, já už na to taky přišel, jenom mi nějak unikly dynamická datová pole (asi jsem se učil ze špatných návodů), takže jsem nevěděl, jak to udělat, aby to bylo neomezený...
Díky.

Nahlásit jako SPAM
IP: 88.146.188.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

Podobná vlákna

Vlastnosti souborů — založil ench

Vlastnosti okna — založil Jiří Hlaváček

Funkce ( vlastnosti) — založil Krasotina

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý