![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить свойства обекта по ходу выполнения проги
_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