Předmět Autor Datum
Nestačí ti událost OnMouseLeave? Když na něj najedeš, vyvolá se událost OnMouseEnter
Jan Fiala 21.09.2017 09:19
Jan Fiala
Děkují ;-)
Honza.00 21.09.2017 09:53
Honza.00
Má radost byla předčasná. O co jde. Na form je stringrid a listbox nastaven jako neviditelný. Když…
Honza.00 21.09.2017 11:29
Honza.00
A co se ti nelíbí na tom comboboxu u gridu? To je standardní řešení, které se dá ovládat i bez myši.… poslední
Jan Fiala 21.09.2017 13:19
Jan Fiala

Má radost byla předčasná.

O co jde.
Na form je stringrid a listbox nastaven jako neviditelný.
Když kliknu na nějakou bunku v 1 sloupci se zobrazí ten listbox a já si v něm chcí vybat to co se do bunky ve stringridu vloži.

Jak na to?


if CisloSloubce = 1 then
           begin
             Listbox1.Top := y ;
             Listbox1.Left := x ;
             Listbox1.Visible := true;
             Listbox1.SetFocus;
            end;

Ono to funguje jak potřebují. Ale SetFocus ne.
Kliknu na bunku, vykresli se Listbox, najedu na něj a když pohybují kolečkem myší, hybou se řádky ve stringridu a ne v Listbox.

OnMouseLeave také není moc dobra volby.
Listbox zmizne už když najedu v listboxu na vodorovný ScrollBar.

Něco takoveho, ale místo ComboBox tak listbox.
https://postimg.org/image/om94bl7np/

A co se ti nelíbí na tom comboboxu u gridu? To je standardní řešení, které se dá ovládat i bez myši. To tvoje bez myši fungovat nebude.
U gridu je to složitější, protože máš buňku a při kliknutí do buňky se ještě aktivuje editor (vytvoří se TEDIT) v buňce.
V jaké události se snažíš v Gridu nastavovat ten focus?

Skrytí ListBoxu udělej na kliknutí na řádek a případně na kliknutí do gridu (nebo MouseEnter na gridu).

Zpět do poradny Odpovědět na původní otázku Nahoru