Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.12;
Скачать: CL | DM;

Вниз

Правое выравнивание текста в компоненте Combobox   Найти похожие ветки 

 
Sw   (2009-05-19 09:15) [0]

необходимо установить правое выравнивание текста в компоненте Combobox  при значении св-ва Style=csSimple Помогите, пожалуйста.


 
{RASkov} ©   (2009-05-19 10:20) [1]

> [0] Sw   (19.05.09 09:15)

procedure TMyRightComboBox.CreateParams(var Params: TCreateParams);
begin
 inherited;
 Params.ExStyle := Params.ExStyle or WS_EX_RIGHT;
end;


 
Sw   (2009-05-19 10:44) [2]

Спасибо большое, работает. А можно ли так, чтобы только текст выравнивался по правому краю? Дело в том, что в коде я меняю свойство Style на csDropDownList и тогда стрелка выбора combobox"a находится слева.


 
Sw   (2009-05-19 10:49) [3]

т.е. создаю программно несколько combobox с разным свойством Style, а текст у всех должен быть по правому краю


 
Игорь ©   (2009-05-19 11:16) [4]


> Sw   (19.05.09 10:49) [3]


Это уже в OnDrawItem примерно так


ComboBox1.Style:= csOwnerDrawVariable;

...

var
 ARect: TRect;
begin
 if (odSelected in State) then
 begin
   ComboBox1.Canvas.Brush.Color:= clHighlight;
   ComboBox1.Canvas.Pen.Color:= clHighlight;
   ComboBox1.Canvas.Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);
 end
 else
 begin
   ComboBox1.Canvas.Brush.Color:= clWhite;
   ComboBox1.Canvas.Pen.Color:= clWhite;
   ComboBox1.Canvas.Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);
 end;

 ARect:= Classes.Rect(Rect.Left, Rect.Top + 2, Rect.Right - 3, Rect.Bottom);
 DrawText(ComboBox1.Canvas.Handle, PChar(ComboBox1.Items[Index]), Length(ComboBox1.Items[Index]), ARect, DT_RIGHT);


 
Sw   (2009-05-19 11:28) [5]

извините, но мне не нужен csOwnerDrawVariable, а нужны только csSimple и csDropDownList . с OnDrawItem  не получится.


 
Sw   (2009-05-19 11:58) [6]

ай...наверно...так пойдет

procedure TCmbBoxRightText.CreateParams(var Params: TCreateParams);
begin
inherited;
if Style=csSimple then
 Params.ExStyle := Params.ExStyle or WS_EX_RIGHT;
end;



Страницы: 1 вся ветка

Текущий архив: 2009.07.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
2-1242924098
Чипырик
2009-05-21 20:41
2009.07.12
Как получить год


2-1242753465
AV_Kit
2009-05-19 21:17
2009.07.12
Эмуляция служебных клавиш


2-1242963432
Sw
2009-05-22 07:37
2009.07.12
Combobox и MonthCalendar


2-1242909774
Индеец
2009-05-21 16:42
2009.07.12
TJclSimpleXMLElem и CDATA


15-1242065192
Cyrax
2009-05-11 22:06
2009.07.12
Статус эконом-класса - присваивается как-то официально или...