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

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

Как изменить свойства обекта по ходу выполнения проги


_Okey_ ©   (2005-04-13 18:32:00) 

Как изменить свойства обекта по ходу выполнения проги.

Например: замучен Check Box, с флагом bs_left, а мне нужно поменять флаг на bs_right.


Marser   (2005-04-14 23:48:00) [1]


> alpet ©   (14.04.05 18:17) [7] [Новое
>сообщение][Ответить]
> VCL вообще не позволяет менять выравнивание текста у
> компонента TCheckBox. В [5] один из вариантов на API.

Выравнивание - да. А направление - я протестировал перед тем как постить.


okey   (2005-04-14 19:53:00) [2]

alpet ©  

Спасибо


alpet   (2005-04-14 18:17:00) [3]

VCL вообще не позволяет менять выравнивание текста у компонента TCheckBox. В [5] один из вариантов на API.


_okey_   (2005-04-14 18:14:00) [4]

marser ©
Тема WinApi значит и функцыя на WinApi


alpet   (2005-04-14 11:40:00) [5]

mgcr ©   (14.04.05 11:22) [4]

>1) Тебя погубит страсть к арифметике.
>2) Не будет работать.
>3) Читать stdctrls.pas. До полного и окончательного просветления.


1. Может быть.
2. Будет, но не всегда (однократно).
3. Лень, для таких примеров.

Вот более надежный и проверенный вариант:

procedure TForm1.CheckBox1Click(Sender: TObject);
var wnd: HWND;
   style: Integer;
begin
wnd := CheckBox1.Handle;
style := GetWindowLong (wnd, GWL_STYLE);
style := style xor (style and bs_left) or bs_right;
SetWindowLong (wnd,  GWL_STYLE, style);
InvalidateRect(wnd, nil, true)
end;


mgcr   (2005-04-14 11:22:00) [6]

alpet ©   (14.04.05 11:08) [3]

1) Тебя погубит страсть к арифметике.
2) Не будет работать.
3) Читать stdctrls.pas. До полного и окончательного просветления.


alpet   (2005-04-14 11:08:00) [7]

SetWindowLong (hwnd,  GWL_STYLE,
GetWindowLong (hwnd, GWL_STYLE) - bs_left + bs_right);


mgcr   (2005-04-14 10:57:00) [8]


>  замучен Check Box


Ты садист ? Зачем чекбоксы мучаешь ?


Marser   (2005-04-13 19:04:00) [9]

Checkbox1.Alignment:=taRightJustify


Наверх

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