Войти
ПрограммированиеФорумГрафика

WinAPI SetWindowLong делает 3 кнопки одного стиля !

#0
15:12, 27 июня 2013

У меня есть 3 кнопки ID_BUTTON1, ID_BUTTON2 и ID_BUTTON3

Я хочу изменить стиль одной кнопки. К примеру ID_BUTTON1. Сделать у кнопки ID_BUTTON1 стиль нажатой (делаю бордюр вокруг кнопки)

Но у меня все 3 кнопки имеют одинаковый стиль. А именно все три нажаты. ! А стиль нажатой кнопки должен быть только у ID_BUTTON1.
Как это исправить?

Вот код как я делаю.
MyMixsherExStyleSlct = WS_EX_CLIENTEDGE+WS_EX_DLGMODALFRAME
MyMixsherExStyle      = 0

SetWindowLong(GetDlgItem(hwnddlg,ID_BUTTON1),GWL_EXSTYLE,&MyMixsherExStyleSlct );
SetWindowLong(GetDlgItem(hwnddlg,ID_BUTTON2),GWL_EXSTYLE,&MyMixsherExStyle );
SetWindowLong(GetDlgItem(hwnddlg,ID_BUTTON3),GWL_EXSTYLE,&MyMixsherExStyle );


                       


#1
16:38, 27 июня 2013

Последний параметр у SetWIndowLong - LONGБ а не указатель на LONG

#2
20:15, 27 июня 2013

steps3d
не работает ни так как у меня и не так как советуешь.
Там еще есть фигня. Читал что SetWindowPos решает эту проблему.
Вобщем еще раз убеждаюсь в том что в микрософте работают индусы во главе с шаманом из юрты :)

#3
9:09, 28 июня 2013

Если кнопки именно на winApi, то просто не получится. Посмотри книгу Cris Seddon. opengl game programming. Он описывает как сделать переключение кнопок,проще не получится, по-видимому. Согласен, продукты микрософт - это шедевры, сделанные людми с руками растущими из ж-пы.

ПрограммированиеФорумГрафика

Тема в архиве.