Specyficzny TTreeView

0

Witam
Mam taki problem i pomimo przekopania kilku forów (forumów :)), stron polsko i nie polsko języcznych, plików pomocy i FAQów nie potrafię go rozwiązać.
Problem wygląda tak:
Chcę aby w DropDown List jedna wartość (konkretnie txt 'wszystkie') była zawsze na górze list - jako normalny element, który można wybrać.
Nie wiem czy ktoś wie o co mi chodzi - to może przykład:

Powiedzmy, że tak wygląda normalny ComboBox
Element 1 / - prostokącik ComboBox'a
Wszystko - od tąd DropDown List
Element 1
Element 2
Element 3

I po przesunięciu Listy elementów o jeden w dół
Element 1 /
Wszystkio
Element 2
Element 3
Element 4

I po jeszcze jednym przesunięciu Listy elementów w dół
Element 1 /
Wszystkio
Element 3
Element 4
Element 5

Czyli żeby element 'Wszystko' zawsze był na górze DropDown List. Potrzebuje to w bazie do szukania i jak mam ComboBoxa z 1500 elementami, które można wybrać to trochę uciążliwe jest jeżdżenie tym sówakiem i szukanie elementu 'Wszystkie', a tak to zawsze było by na górze.

Z góry dziękuję za jakiekolwiek sugestie

0

Sorki ale jestem już zmęczony i walnąłem się w temacie - powinno być TComboBox

0

Spróbuj coś takiego:

ComboBox1.style ustaw na csOwnerDrawFixed;

w onDrawItem ComboBox-a wpisz:


procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  s : string;
begin
  if Rect.Top = 0  then    begin
     s := 'wszystko';
     ComboBox1.Tag := index;
  end else

  s := ComboBox1.Items.Strings[Index];

  with ComboBox1.Canvas do
  begin
    FillRect(Rect);  //zeby ładnie wyglądało 
    TextOut(Rect.Left, Rect.Top + 2, s);
  end;
end;

teraz aby się dowiedzieć czy została wybrana opcja „wszystko” w onChange ComboBox-a wstaw warunek :

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  If ComboBox1.ItemIndex = ComboBox1.Tag  then
  begin
    ComboBox1.ItemIndex := 0;  
    ShowMessage('wybrano wszystko');
  end;

end;

komentarzy nie chciało mi się pisać :d
mam nadzieje ze trochę pomogłem [cya]

0

:-8
to co napisałem działa tylko wtedy gdy listę przesuwa się za pomocą tych małych szczałek. Gorzej jest gdy przeciąga się suwak [glowa]
trzeba to trochę dopracować [stuk]..............

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