Hirdetés
- Derült égből villámcsapás: vége a Ford elektromos kalandjának
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Korai iOS árulkodik arról, milyen eszközök várhatók az Apple-től a közeljövőben
- Névlegesen nyer üzemidőcsatát a Honor új szériája
- Decembertől kapható itthon a Baseus Inspire szériája
- Yettel topik
- Poco F8 Ultra – forrónaci
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bekerül az Apple Pay és Google Pay a Budapest GO alkalmazásba
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Google Pixel topik
- Milyen okostelefont vegyek?
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
Új hozzászólás Aktív témák
-
válasz
Tomi_78
#2086
üzenetére
"Tehát azt szeretném elérni, hogy a különböző menüpontok más paraméterrel hívják ugyanazt a függvényt az OnClick eseményükben."
Ebben az esetben nem látom értelmét Caption avagy Tag alapján megkülönböztetni, hogy melyik menüelem volt a küldő, hisz mindegyik menüelem saját onclick eseményét hívod meg, az meg egyértelműen azonosítja a küldőt...
Ez esetben ennyi az egész.procedure WriteStrToForm1Caption (MyCaption:String);
begin
Form1.Caption:=MyCaption;
end;
procedure TForm1.M11Click(Sender: TObject);
begin
WriteStrToForm1Caption('Első menüelem');
end;
procedure TForm1.M12Click(Sender: TObject);
begin
WriteStrToForm1Caption('Második menüelem');
end;
procedure TForm1.M1S11Click(Sender: TObject);
begin
WriteStrToForm1Caption('Első menüelem első almenüelem');
end;A TAG-es megoldás jobb, mint a Caption-ös, de abba is bele lehet keveredni, hisz egy popupmenu a kód fejlesztése során módosulhat(hozzáadsz/törölsz menüelemeket) és ilyenkor aztán lehet végignézni az összes menüelemet, hogy akkor most mi is legyen a TAG új értéke (ami nincs még/már), hisz nem lehet 2 vagy több egyforma, arról meg már nem is beszélve, ha submenu-t is használsz majd a későbbiekben...
A submenu elemeinél is ott figyel a TAG tulajdonság, szóval onnantól már submenü TAG-jeit is figyelni kellene(a főmenüvel együtt), hogy ne legyen 2 vagy több egyforma...
Aztán egy olyan hiba, amit sokan elkövetnek: Amennyiben van submenu (linkelt submenu-s képen az M1 menü ilyen), akkor az M1 onclick eseményét nem programozzuk fel, ugyanis ilyen esetben elég az egérkurzort az M1 menü fölé vinni és egyből, kattintás nélkül lefut az M1 onclick eseménye... (ez a hibás helyzet van a linkelt képen)
-
vz12
tag
válasz
Tomi_78
#2086
üzenetére
Szerintem az OnClick-nek csak "Sender" paramétere van, és nem lehet második paramétert használni. Az alul lévő megoldás egyébként megfelelő, de egy kicsit azért lehet javítani rajta.
Hasonló, de talán egy kicsit szebb a Sender.tag használata, amit a property beállításoknál akár tervezési időben is meg lehet adni, de dinamikusan, kódból is. A "tag" viszont egész szám típusú (talán Longint), amit én 1,2,3, stb-re állítanék be (indulhat 0-tól is, de tudni kell, hogy alaphelyzetben minden objektumnál tag=0), amit úgy lehet a leghatékonyabban string típussá alakítani, ha definiálsz egy string típusú elemekből álló TÖMBÖT a programban 1,2,3, stb. tömbindexekkel. Az OnClick-ben pedig már csak használni kell a Tomb[Sender.tag] string értéket.
Persze némi validáció (intervallumba tartozás vizsgálat) a tömbindexre (Sender.tag) nem árthat.Ja, természetesen a különböző elemek OnClickjébe ugyanazt a függvényt kell beállítani, a hívó objektum "tag" beállítása legyen csak különböző.
Új hozzászólás Aktív témák
- Yettel topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Mikor pukkad ki a robotlufi?
- Elkészült az SMIC 5 nm-es node-ja, de a kínaiaknak haszna nincs rajta
- Poco F8 Ultra – forrónaci
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- GoodSpeed: Harcban az adathalászokkal - az AI tud segíteni?
- Samsung kuponkunyeráló
- Forza sorozat (Horizon/Motorsport)
- Gumi és felni topik
- További aktív témák...
- ÚJ bontatlan S9 41mm Midnight / éjfekete Cellular Azonnal átvehető Deák térnél
- ÚJ BONTATLAN Apple Watch Series S9 41mm Pink és Mid Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garancia
- BONTATLAN Új iPhone 17 PRO Kozmosznarancs 256-512GGB Független 1év Apple Gar. Azonnal átvehető.Deák
- BONTATLAN Új Ipad 9th 10th 11 gen. Air 6 7 , Ipad Pro Mini 7 IPADEK Azonnal DEÁK Térnél Átvehető.
- Xiaomi Electric Scooter 5 Max szinte új, teljes csomag, karácsonyi ajándéknak is tökéletes!
- Új FULL HD webkamera + Számla
- Apple iPhone 13 Pro Max 128GB,Újszerű,Dobozával,12 hónap garanciával
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 512GB SSD GTX 1060 6GB Zalman T4 Plus DeepCool 400W
- Airmsen YW500 ablaktisztító robot / 12 hó jótállás
- 0perces! Samsung Galaxy Book5 Pro 360 2in1 Core Ultra 7 256V 16GB 2TB 16" WQXGA+ AMOLED TOUCH 1évgar
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi




