функция SetGadgetColor
|
|
Vitamin | Дата: Пятница, 24.02.2023, 20:44 | Сообщение # 1 |
Лейтенант
Группа: Пользователи
Сообщений: 59
Статус: Offline
| функция меняет цвет текста CheckBoxGadget только до цикла ожидания событий окна, а в теле цикла почему-то не срабатывает, вот пример:Код #Include "window9.bi" CenterWindow(OpenWindow("",10,10,260,100)) CheckBoxGadget(1,10,10,82,18,"Выбор") TextGadget(2,100,20,50,50,"ggg")
'SetGadgetColor(1,0,255,2) 'SetGadgetColor(2,0,255,2)
Do Var event=WaitEvent() If event=EventGadget Then If EventNumber = 1 Then If GetGadgetState(1) = 1 Then ' если галка включена ?"+" SetGadgetColor(1,0,255,2) ' красный цвет текста SetGadgetColor(2,0,255,2) Else ' выключена ?"-" SetGadgetColor(1,0,65280,2) ' зелёный цвет текста SetGadgetColor(2,0,65280,2) EndIf EndIf EndIf If event=eventclose Then End Loop
при этом TextGadget отрабатывает нормально, чего для CheckBoxGadget не хватает?
|
|
| |
haav | Дата: Пятница, 24.02.2023, 21:51 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Как только смогу , я сделаю исправление. А пока можно для CheckBoxGadget после вызова SetGadgetColor применить InvalidateRect(GadgetID(1) , 0 , 1) . В данном случае обновится гаджет с номером 1. Если нужно обновить другой , то номер в GadgetID должен быть другим.
Ты в каком редакторе пишешь? Код содержит некорректные символы. Возможно форум косячит , но почему-то мне кажется , что было написано в FbEdit.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
Vitamin | Дата: Пятница, 24.02.2023, 21:53 | Сообщение # 3 |
Лейтенант
Группа: Пользователи
Сообщений: 59
Статус: Offline
| ОК, попробую да, FbEditДобавлено (25.02.2023, 12:15) --------------------------------------------- да, так работает Код #Include "window9.bi"
CenterWindow(OpenWindow("",10,10,260,100)) CheckBoxGadget(1,10,10,82,18,"Выбор")
Do Var event=WaitEvent() If event=EventGadget Then If EventNumber = 1 Then If GetGadgetState(1) = 1 Then ' если галка включена SetGadgetColor(1,0,&h0000FF,2) ' красный цвет текста Else ' выключена SetGadgetColor(1,0,&h00C000,2) ' зелёный цвет текста EndIf InvalidateRect(GadgetID(1),0,1) EndIf EndIf If event=eventclose Then End Loop
однако если изменить стиль windows при помощи .manifest, то цвет перестаёт меняться видимо не судьба ...
Сообщение отредактировал Vitamin - Пятница, 24.02.2023, 21:53 |
|
| |
haav | Дата: Суббота, 25.02.2023, 16:03 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 1366
Статус: Offline
| Цитата Vitamin ( ) однако если изменить стиль windows при помощи .manifest, то цвет перестаёт меняться видимо не судьба ...
Я вообще не парюсь с манифестами (пофиг на них). Мне уже много раз писали , типа почему ты не используешь манифест в своих программах. Ну так вот, ты отыскал как минимум одну причину. Кстати , я сделал исправление и обновил библиотеку , теперь не должно быть проблем с цветами у кнопок.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
|