Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Вниз

Правое выравнивание текста в компоненте 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.004 c
15-1242315887
Dimka Maslov
2009-05-14 19:44
2009.07.12
Программа выполнила недопустимую операцию и будет закрыта.


15-1241970208
Pavia
2009-05-10 19:43
2009.07.12
IPv6 и Vista


2-1243093165
maectpo
2009-05-23 19:39
2009.07.12
Помощь по диплому


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


15-1242208823
PEAKTOP
2009-05-13 14:00
2009.07.12
Поддержи Firebird !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский