Главная страница
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
15-1241819732
Johnnnn
2009-05-09 01:55
2009.07.12
Windows XP Taskbar?


2-1242724147
siealex
2009-05-19 13:09
2009.07.12
Отследить цифру в окне стороннего приложения и нажать в нем же


2-1242854888
Xar
2009-05-21 01:28
2009.07.12
обращение к динамическому полю в БД


2-1242837940
Dr.Andrew
2009-05-20 20:45
2009.07.12
Как строку short *s=(short*)buffer можно перевести на делфи?


15-1242300420
Кое кто
2009-05-14 15:27
2009.07.12
Как сесть на шпагат?