3 problemy:
1.
Mam problem z odświeżaniem ListBoxa do którego wrysowałem sobie ikonki i tekst z różnym formatowaniem (niektóre kolorki są pogrubione a niektóre nie oraz używam dwóch różnych kolorów).
Problem jest taki że podczas gdy kliknę na jakimś itemie i nie puszczając klawisza myszy przesunę myszkę w dół lub górę to pozostają takie jakby ramki na poszczególnych itemach.
Gdy klikam na pojedynczym itemie to wtedy na moment robi się też taka ramka ale w OnClick dałem repaint-a i trochę pomogło.
Do wrysowywania ikonek i tekstu używam następującej procedurki:
w OnDrawItem ListaBoxa:
with ListBox do
begin
Canvas.Font.Color := KolorTyt;
Canvas.Font.Style := Canvas.Font.Style + [fsBold];
ImageList.Draw(ListBox.Canvas, Rect.Left+2, Rect.Top+1, 7);
Canvas.TextOut(Rect.Left+22, Rect.Top+1, TabReg[index]);
end;
a do odświeżania używam w OnClick:
ListBox.Repaint;
Czy jest jakiś sposób aby pozbyć się tego denerwującego błędu odświeżania?
-
Normalnie jak użyjesz ListBoxa i dodasz jakieś itemki to gdy klikasz na poszczególnym to wtedy zaznaczona zostaje calutka linia od lewej strony ListBoxa do jego końca a gdy używam wpisania poprzez Canvas.TextOut to wtedy zostaje zaznaczona linijka tylko na długość tekstu. Czy jest możliwość aby została zaznaczona calutka linijka?
-
Mam jeszcze problem ze zrobieniem aby po najechaniu myszką (wystarczy że kursor znajdzie się nad itemem i nie muszę w niego kliknąć) został on podświetlony (item a nie ListBox ;) )
Za wszystkie podpowiedzi serdecznie dziękuję.
ps. jeżeli już gdzieś był taki temat to przepraszam ale mam ograniczony do 3 godzin dziennie ostatnio czas dostępowy w pracy, a w hacie netu nie mam a wyświetliło mi się tyle stron że nie mogłem wszystkiego dokładnie przejrzeć. Przejrzałem w całości tylko FAQ i arty do delphi ale tam nic nie znalazłem co by mi pomogło.
dopisane:
właśnie zabawiłem się komponentem ListBoxNoAnts ściagniętym z serwisu 4programmers ale nie wiem dlaczego nie chce mi po nim w ogóle rysować a używam tych samych procedur co dla zwykłego ListBoxa czyli OnDrawItem. Możliwe że ja coś robię nie tak z tym komponentem.
Z kolei komponent MyListBox (komponent też jest tu na serwisie) ma te same wady co zwykły ListBox.
Czyli dalej jestem w kropce.