Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

Изменение стиля элемента управления   Найти похожие ветки 

 
Ji ©   (2006-02-12 23:40) [0]

Есть диалоговое окно с элементом управления (например, RadioButton c Control_ID = 10).
Хочу изменить стиль этой RadioButton (поставить/убрать WS_DISABLED).
В документации нашел функцию SetWindowLong, которая вроде бы для этого применяется.
Использую так:
SetWindowLong(GetDlgItem(WindowHandle, 10),GWL_STYLE,WS_DISABLED);
При этом RadioButton становится некликабельной, но не затеняется.
А также не получается убрать это свойство (WS_DISABLED) если оно установлено изначально при загрузке окна, т.е. сделать элемент активным.
Как сделать чтобы элемент отключался полностью (зетенялся) и как вернуть его в рабочее состояние?


 
Marser ©   (2006-02-13 01:55) [1]

Так как делаете вы, в общем случае делать принципиально неправильно. Вам нужно сначала получить стили данного элемента с помощью GetWindowLong, а уже затем работать с ними, добавляя или вычитая стили, используя битовую логику - or(добавление) или and not.
Таким образом, в вашем случае нужно было писать по крайней мере вот так:
SetWindowLong(GetDlgItem(WindowHandle, 10),GWL_STYLE,GetWindowLong(GetDlgItem(WindowHandle, 10),GWL_STYLE)or WS_DISABLED);


 
Ji ©   (2006-02-13 09:45) [2]

Спасибо.
Понял.


 
begin...end ©   (2006-02-13 10:10) [3]

EnableWindow(GetDlgItem(WindowHandle, 10), False)



Страницы: 1 вся ветка

Текущий архив: 2006.02.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
2-1139507246
Glex
2006-02-09 20:47
2006.02.26
Kак обрезать клик-зону Image?


15-1138969362
Pazitron_Brain
2006-02-03 15:22
2006.02.26
Процените сайт!


3-1136361200
mfaskhov
2006-01-04 10:53
2006.02.26
Использование FireBird API в Delphi


6-1132092302
Volf_555
2005-11-16 01:05
2006.02.26
Как по сети копировать папки с файлами?


15-1138691720
ANB
2006-01-31 10:15
2006.02.26
Трехслойка vs Двухслойка