Jak unieaktywnić ListBoxa (bez wyszarzania)

0

Witam.
Jak uzyskać unieaktywnienie listboxa (czyli aby tylko wyświetlał podświetlone pola) ale go nie "wyszarzać" jak to się dzieje po zastosowaniu ListBox.Enabled:=False tym bardziej, iż zależy mi aby nadal scrollbar działał i można było zobaczyć podświetlone pozycje a znajdujące się niżej listy. Krótko mówiąc aby listbox zachowywał się zupełnie normalnie poza tym że nie można w nim nic zmienić. Z góry dzięki za pomoc Robiw

0

Mi sie zdaje Ze listbox nie ma wlasciwosci takich jak Memo czy tez RichEdit..
nie mozna do niego przeciez nic wpisac (bez iongerencji w kod)
czyli nie wpiszesz tam nic jak do memo tylko dodasz to np kodem
Listbox1.Items.Add('Cos');

0

A mi się wydaje, że ratuje cię napisanie własnego komponentu na TListBox lub TCustomListBox i odpowiednie obsłużenie komunikatów:
WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN, oraz WM_KEYDOWN.
Po prostu jesli nie chcesz, aby nie było żadnej akcji po kliknięciu czy wciśnięciu jakiegoś klawisza to nic nie rób, w przeciwnym wypadku... inherited :)

0

A mi się wydaje, że ratuje cię napisanie własnego komponentu na TListBox lub TCustomListBox i odpowiednie obsłużenie komunikatów:
WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN, oraz WM_KEYDOWN.
Po prostu jesli nie chcesz, aby nie było żadnej akcji po kliknięciu czy wciśnięciu jakiegoś klawisza to nic nie rób, w przeciwnym wypadku... inherited :)

Witajcie.
A nie można zrobić tego prościej bo tak naprawdę ten element ma wyświetlać podświetlone pola w bazie danych (jeśli tylko przeglądanie) a jeśli edycja to ma się zachowywać jak zwykły listbox...robiw

0

A nie wystarczy ci wlasciwosci Style? Jak zmienisz na lbOwnerDrawFixed to wtedy listboxem mozna przesuwac mozna klikac podswietlac i nic nie da sie zmienic :)

0

lbOwnerDrawFixed nie działa do końca bo nie można przewijać scrollbara. Pomocy...robiw

0

a nie wystarczy np calego kodu ktory jest powiedzmy w zdarzeniu OnClick wziasc w warunek? i wtedy gdy jest tylko przegladanie to np bedzie ustawialo zmienna boolean na false i wtedy caly kod ktory bedzie zawarty w warunku if costam then begin bedzie wykonywany tylko wtedy gdy costam = True
nie wiem czy ktos to zrozumie, ale uwazam ze to dobre rozwiazanie...


nie to jednak niebedzie chyba dobre bo bedzie mozna zmienic zaznaczenie...

1 użytkowników online, w tym zalogowanych: 0, gości: 1