Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выравнивание заголовка


Макс Т. ©   (2005-03-13 17:19:00) 

Приветствую! Можно ли как нибудь выравнять заголовок кнопки по левому краю?


Макс Т.   (2005-03-14 11:33:00) [1]

спасибо


Юрий Зотов   (2005-03-13 21:59:00) [2]

Елы-палы, проверил - не работает. Надо же! А казалось бы - не работать просто не может.

Пришлось наказывать самого себя - писать работающий компонент. Вот он.

type
 TAlignmentButton = class(TButton)
 private
   FAlignment: TAlignment;
   procedure SetAlignment(const Value: TAlignment);
 protected
   procedure CreateParams(var Params: TCreateParams); override;
 public
   constructor Create(AOwner: TComponent); override;
 published
   property Alignment: TAlignment read FAlignment write SetAlignment default taCenter;
 end;

constructor TAlignmentButton.Create(AOwner: TComponent);
begin
 inherited;
 FAlignment := taCenter
end;

procedure TAlignmentButton.CreateParams(var Params: TCreateParams);
const
 AlignmentStyle: array[TAlignment] of DWORD = (BS_LEFT, BS_RIGHT, BS_CENTER);
begin
 inherited;
 Params.Style := Params.Style or AlignmentStyle[FAlignment]
end;

procedure TAlignmentButton.SetAlignment(const Value: TAlignment);
begin
 if FAlignment <> Value then
 begin
   FAlignment := Value;
   RecreateWnd
 end
end;


Юрий Зотов   (2005-03-13 17:31:00) [3]

SetWindowLong(Button1.Handle, GWL_STYLE,
 GetWindowLong(Button1.Handle, GWL_STYLE)
   or BS_LEFT and not BS_CENTER);


Наверх

Титульная страница Поиск, карта сайта Написать письмо