Delphi > Firemonkey

FMX komponenta - detekce kliku mimo

<< < (2/5) > >>

age.new:
Děkuji za kód, ale není to tak dobře. OnExit přijde jen když kliknu na panel2. Potřebuji ale zachytit klik kdekoliv. Prostě musí v FMX existovat "něco", co dokáže zachytit událost kliku myši ať už je kdekoliv na formuláři. Je přeci nesmyslné reagovat na klik jen když je myš v "designboxu" (nebo jak to nazvat) objektu a navíc jen s HitTest := true. Neumím si představit složitější aplikaci bez takovéto interakce. A to platí nejen pro klik, ale i pro pohyb myši, klávesy atp.

pf1957:

--- Citace: Radek Červinka  04-01-2022, 23:59:52 ---Tohle není pravda. FMX si az na vyjimky na handle okna nehraje a vubec je nepotrebuje.

--- Konce citace ---
OK. Psal jsem, ze s FMX jsem delal jen na urovni kladece komponent a ne programatora.

Radek Červinka:

--- Citace: age.new  05-01-2022, 07:36:52 ---Děkuji za kód, ale není to tak dobře. OnExit přijde jen když kliknu na panel2. Potřebuji ale zachytit klik kdekoliv. Prostě musí v FMX existovat "něco", co dokáže zachytit událost kliku myši ať už je kdekoliv na formuláři. Je přeci nesmyslné reagovat na klik jen když je myš v "designboxu" (nebo jak to nazvat) objektu a navíc jen s HitTest := true. Neumím si představit složitější aplikaci bez takovéto interakce. A to platí nejen pro klik, ale i pro pohyb myši, klávesy atp.

--- Konce citace ---

Tak chces zachytavat mys nebo zmenu focusu? Jestli sis nevsiml, tak ten muj kod reaguje na zmenu focusu, tedy i stisk TAB.

Radek Červinka:

--- Citace: pf1957  05-01-2022, 08:56:13 ---
--- Citace: Radek Červinka  04-01-2022, 23:59:52 ---Tohle není pravda. FMX si az na vyjimky na handle okna nehraje a vubec je nepotrebuje.

--- Konce citace ---
OK. Psal jsem, ze s FMX jsem delal jen na urovni kladece komponent a ne programatora.


--- Konce citace ---

V pohode, ja to musel napsat, nez tim bude nekdo argumentovat.

Radek Červinka:

--- Citace: Radek Červinka  05-01-2022, 09:19:53 ---
--- Citace: age.new  05-01-2022, 07:36:52 ---Děkuji za kód, ale není to tak dobře. OnExit přijde jen když kliknu na panel2. Potřebuji ale zachytit klik kdekoliv. Prostě musí v FMX existovat "něco", co dokáže zachytit událost kliku myši ať už je kdekoliv na formuláři. Je přeci nesmyslné reagovat na klik jen když je myš v "designboxu" (nebo jak to nazvat) objektu a navíc jen s HitTest := true. Neumím si představit složitější aplikaci bez takovéto interakce. A to platí nejen pro klik, ale i pro pohyb myši, klávesy atp.

--- Konce citace ---

Tak chces zachytavat mys nebo zmenu focusu? Jestli sis nevsiml, tak ten muj kod reaguje na zmenu focusu, tedy i stisk TAB.

--- Konce citace ---

Jako rychlý hack jde dat panel (misto Layout) pres cely form a nastavit mu CanFocus := True  a na nej davat jine komponenty. Tim padem kamkoliv kliknes mimo focusable komponent bude mit Focus ten hlavni panel.

Pokud ti to nestaci, tak se podivej jak je delany ten ComboBox, ale nevim, zda je to presne v tvem pripade pouzitelne.

Navigace

[0] Seznam témat

[#] Další strana

[*] Předchozí strana

Přejít na plnou verzi