Diskuze: TListView - multiselect pomocí myši
Člen
Zobrazeno 21 zpráv z 21.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Taky mě napadlo v eventu OnMouseDown uložit index do nějaké globální proměnné a potom v eventu OnMouseUp mít for each cyklus, ve kterém by se označovalo, ale toto řešení se mi taky nějak nezdá. Doufám, že vás napadne nějaké vhodnější řešení.
Ahoj, nad jakou komponentou potřebuješ ten multiselect?
TListView.. Už to mám hotové, udělal jsem to tak, že v eventu OnMouseDown si ukládám do globální proměnné index itemu a v eventu OnMouseUp potom dělám rozdíl a v cyklu označuji.. Ale toto řešení se mi z nějakého mě neznámého důvodu nelíbí a myslím si, že mě s ním šéf pošle do háje
Co děláš za Appku? Pokud je tvoje řešení spolehlivé, nevidím důvod proč by tě s tím šéf posílal kamkoliv ...
Jinak bych ti doporučil si prohlédnout Propery TListView ... ona se totiž jedna z nich jmenuje MultiSelect a když jí zapneš, tak hádej co to dělá ...
Multiselect ano, ale není to řešeno pomocí myši.. Už jsem odevzdal několik projektů, spolehlivé na 100% byly, ale třeba jen proto, že nechápal logiku toho (i když to bylo jednoduché a dokonce i s komentářem), tak mě s tím poslal do háje..
je to řešeno pomocí myši, teď jsem to testoval (DXE7) ... pak nezbývá než si o tvém vedení myslet svoje ...
Vlastnost MultiSelect ti dovolí myší označit více položek v TListView. Označovat je pak ale musíš tak, že při klikání na ně držíš zároveň klávesu CTRL (pro rozsah by mohl fungovat SHIFT). Prostě jako v Průzkumníku (ten podle mě používá nějakého potomka listviewu).
Takže pokud nechceš přidat nějaké extra chování, tak asi nemá tvoje řešení moc smysl.
V Delphi 7, když povolím multiselect, tak nemůžu označovat řádky tažením myši. Ta možnost tam prostě není
Ano, pokud vím, jde to jen skrz CTRL, možná i přes SHIFT.
A já to potřebuji udělat na tažení myši.. Což už jsem si udělal, ale nemyslím si, že je to nejvhodnější řešení.
Teď jsem došel domů, a i ve stařičkejch Delphi7 tažení myší přes ListView (TListView) funguje, jak by člověk čekal. Přes ty prvky, přes které se přejede myší se označí.
Buď vůbec nerozumím tomu co chceš udělat a nebo je chyba někde jinde ...
Mě to teda nefunguje a šéf mi řekl, že tam mám tu funkci naprogramovat. Je to tam jen tak, jak píše Martin Dráb "jde to jen skrz CTRL, možná i přes SHIFT."
Jestli můžu poprosit, tak bych uvítak nějaký video, nebo já nevim co, podle čeho bych pochopil v čem se to má chovat jinak než to co už je v D7 hotové ...
Myslím si, že chce, aby se položky v listview daly označovat stejně jako třeba v Průzkumníku (tzn. pouhým tažením myši můžeš vybrat více položek).
No tomu rozumím, ale tak se to přeci chová ...
Teď to nemám možnost vyzkoušet, ale podle mě listview v řádkovém stylu (vsReport) takhle bohužel nefunguje (je třeba shift/ctrl).
Hmmm, tak to pak leda, no. V tom případě se dá použít vsList ... ale tak třeba má Ilidanek33 nějakou speciální specifikaci. Tak nějak si právě od začátku nedokážu moc představit čeho hce dosáhnout ...
Chci dosáhnout přesně toho, co píše Martin. Označovat v listu stejně jako v průzkumníku a to tažením myši.
Zobrazeno 21 zpráv z 21.