Jak wyśrodkować tekst widoczny po rozwinięciu ComboBox'a ???
0
0
Możesz spróbować dodać itemy combo w ten sposób:
procedure DodajItem(Combo: TComboBox; Tekst: String);
Var
Shift:Integer;
Begin
Shift:=(Combo.Width-20-Combo.Canvas.TextWidth(Tekst)) div 2; // 20 - szerokość przycisku rozwijania listy
Tekst:=StringOfChar(' ', Shift div Combo.Canvas.TextWidth(' '))+Tekst;
Combo.Items.Add(Tekst);
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
DodajItem(ComboBox1, 'Item pierwszy');
DodajItem(ComboBox1, 'Item drugi');
DodajItem(ComboBox1, 'Item 3');
end;
3
Dzień dziecka
//ustawic wlasciwosc style na csOwnerDrawFixed i w zdarzeniu OnDrawItem
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with TComboBox(Control) do
begin
if odSelected in State then
begin
Canvas.Brush.Color:= clHighlight;
Canvas.FillRect(Rect);
end
else
begin
Canvas.Brush.Color:= clWindow;
Canvas.FillRect(Rect);
end;
DrawText(Canvas.Handle, PAnsiChar(Items[Index]), -1, Rect,
DT_CENTER or DT_VCENTER);
end;
end;