Текущий архив: 2005.08.07;
Скачать: CL | DM;
Вниз
Плоский ComboBox Найти похожие ветки
← →
AlexTregubov (2005-06-02 17:05) [0]возможно ли создать сабж, т.е. что-то типа BorderStyle:=bsNone, или Flat:=true
Заранее спасибо.
← →
Игорь Шевченко © (2005-06-02 17:53) [1]Самому рисовать. В D6 и выше можно через свойство Bevel управлять, но рисуется он не совсем корректно.
← →
-=S.S=- © (2005-06-02 18:07) [2]
ComboBox1.BevelInner := bvNone;
ComboBox1.BevelKind := bkSoft;
ComboBox1.BevelOuter := bvSpace;
Авось то что нужно ;)
← →
alpet © (2005-06-02 18:31) [3]Смотрится плохо, но вроде работает:
procedure TForm1.Create (Sender: TObject);
var n: Integer;
begin
n := GetWindowLong (CheckBox1.Handle, GWL_STYLE);
SetWindowLong (CheckBox1.Handle, GWL_STYLE, n or bs_flat);
end;
← →
AlexTregubov (2005-06-07 09:32) [4]Еще вопрос.
Как у ComboBox сделать выравнивание текста и отступы текста слева и справа (что-то вроде
SendMessage(Handle, EM_SETMARGINS,EC_LEFTMARGIN,3); SendMessage(Handle, EM_SETMARGINS,EC_RIGHTMARGIN,MakeLong(0,3));).
← →
GrayFace © (2005-06-07 10:25) [5]1) Я делал компоненту для того, чтобы Edit-ы, ComboBox-ы и т.п. стали плоскими - могу дать. Делается это подменой оконной поцедуры и отрисовкой своей рамочки вручную.
2) Если Style=csDropDown, тоh:=FindWindowEx(Combobox1.Handle,0,"Edit",nil);
SendMessage(h, EM_SETMARGINS,EC_LEFTMARGIN,20);
← →
AlexTregubov (2005-06-07 15:49) [6]За отступы спасибо.
Последний вопрос - как в комбобоксе сделать выравнивание.
Строчки типа
n := GetWindowLong (h, GWL_STYLE);
SetWindowLong (h, GWL_STYLE, n or ES_CENTER);
не помогают.
← →
GrayFace © (2005-06-09 09:55) [7]Для изменения ES_CENTER надо пересоздать окно эдита. Нормально это сделать у меня не получается. К тому же, для Win98, WinNT 4.0 и т.п. ES_CENTER работает только в многострочных Edit-ах, а с ними нужно дополнительно чуть-чуть повозиться.
Страницы: 1 вся ветка
Текущий архив: 2005.08.07;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.039 c