Delphi > Firemonkey
FMX komponenta - detekce kliku mimo
Radek Červinka:
--- Citace: age.new 05-01-2022, 12:35:39 ---
Domnívám se, že u VCL se nabízí řešení více. Globální hook, zachytávání message událostí ...
--- Konce citace ---
Tak tady si muzes leda tak pretizit metodu TForm (resp. z "cistych" reseni), ale stejne to neni "zapozdrenost"
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; AFormX, AFormY: Single); override;
Ale pokud to dokazes pres ty popup tak je to asi cesta.
Radek Červinka:
--- Citace: pf1957 05-01-2022, 12:28:46 ---Treba v browserech a JavaScriptu se to resi obsluhou udalosti onClick, kterou tam ma ale kazdy element a udalosti lze obsluhovat hromadne pres JQUERY a mam dojem, ze pres OnClick, na ktery muze byt poveseno vic posluchacu, se to delava i v dotNetu.
--- Konce citace ---
Jen tak pro zajimavost: jako ze das OnClick na vsechny ostatni prvky? Aby jsi docilil toho, ze detekujes ze nekdo kliknul mimo tvoji komponentu? Tomu se rika zapouzdreni?
Proto jsem navrhoval aby tam dal na pozadi formulare dal TPanel. Podle mne tam stejne nejaky Layout musi mit. A pak dostane focus budto ten zakladni nebo nekdo kdo muze mit focus, a to mi prijde spravne i uzivatelsky. Ale OK, fokus nechce.
age.new:
U VCL si většinou vystačím s původními komponenty a proto jsem nic podobného v podstatě nemusel použít, ale šlo by to. Pro Firemonkey si komponenty (tlačítka, comba, edity aj.) dělám sám. Ty původní jsou mizerně udělané. Styly jsem zavrhl.
TPopup je řešení. Škoda, že je to formulář a né např. panel.
pf1957:
--- Citace: Radek Červinka 05-01-2022, 13:03:03 ---Jen tak pro zajimavost: jako ze das OnClick na vsechny ostatni prvky? Aby jsi docilil toho, ze detekujes ze nekdo kliknul mimo tvoji komponentu? Tomu se rika zapouzdreni?
--- Konce citace ---
Vetsinou to davaji na parenty. O zapouzdreni jsem psal jen v souvislosti s OP, ze se mu to nelibi, ze by pokazde pri pouziti komponenty musel resit jeji okoli.
pf1957:
--- Citace: Radek Červinka 05-01-2022, 13:03:03 ---Tomu se rika zapouzdreni?
--- Konce citace ---
Jinak ono to z principu nemuze byt zapouzdrene, protoze na urovni objektu nemas nic vedet o okoli - to je task pro infrastrukturu, v ramci ktere ty objekty ziji.
Dalsi vec je, ze si zkousim vzpomenout, jestli jsem se nekde s necim podobnym v UI setkal a zatim bezuspechu.
Navigace
[0] Seznam témat
[#] Další strana
[*] Předchozí strana
Přejít na plnou verzi