Официальный форум СВД Встраиваемые Системы
28 Март, 2024, 18:30:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с ToggleButton  (Прочитано 1448 раз)
Владимир696
Пользователь

Сообщений: 20


« : 28 Сентябрь, 2016, 11:49:43 »

Добрый день!
Подскажите пожалуйста, как с помощью функции PtSetResourse или PSetArg программно активировать ToggleButton, то есть поставить программно внутри этого виджета крестик?

Заранее благодарю.
С уважением, Владимир Потапченко.
Записан
Дмитрий Козлов
Опытный пользователь

Сообщений: 108


« Ответ #1 : 29 Сентябрь, 2016, 04:47:56 »

Собственно так же как и с обычной кнопкой, выставлением/снятием флага Pt_SET.

вот пример простеньких функций
Код:
void ButtonSet(PtWidget_t *widget){
  PtArg_t arg;
  PtSetArg( &arg, Pt_ARG_FLAGS, Pt_TRUE, Pt_SET );
  PtSetResources( widget, 1, &arg);
}

void ButtonUnSet(PtWidget_t *widget){
  PtArg_t arg;
  PtSetArg( &arg, Pt_ARG_FLAGS, Pt_FALSE, Pt_SET );
  PtSetResources( widget, 1, &arg);
}

ButtonSet(ABW_PtToggleButton_test);

Записан
Владимир696
Пользователь

Сообщений: 20


« Ответ #2 : 29 Сентябрь, 2016, 09:24:07 »

Дмитрий Козлов, спасибо, Дружище! Всё работает!
Записан
Владимир696
Пользователь

Сообщений: 20


« Ответ #3 : 29 Сентябрь, 2016, 09:25:10 »

Подскажи ещё пожалуйста, изменением какого аргумента можно сделать виджет серым (не активным) и наоборот активным?
Записан
Дмитрий Козлов
Опытный пользователь

Сообщений: 108


« Ответ #4 : 29 Сентябрь, 2016, 13:22:03 »

Ну мне понравился вот такой вариант:

Записан
Владимир696
Пользователь

Сообщений: 20


« Ответ #5 : 29 Сентябрь, 2016, 14:18:03 »

Спасибо, Дима! Опять выручил!
Записан
Владимир696
Пользователь

Сообщений: 20


« Ответ #6 : 29 Сентябрь, 2016, 14:24:31 »

А вот скажи, может знаешь, при построении окна в фотоне я привязываю событие к нажатию кнопки (действие "Arm" во вкладке Callbacks). По нажатию на кнопку у меня осуществляется один цикл опроса регистров и вывод информации на экран моего приложения после завершения опроса. Если я делаю несколько циклов опроса регистров, который запускается нажатием на кнопку, то в моём окне не отображается информация о чтении регистров, пока не закончатся все циклы опроса. Только после этого на экране отображаются последние прочитанные значения из регистра. Как можно сделать моё окно интерактивным, то есть, чтобы информация после каждого цикла опроса регистров отображалась в моём окне?
Записан
Дмитрий Козлов
Опытный пользователь

Сообщений: 108


« Ответ #7 : 13 Октябрь, 2016, 00:23:39 »

организуем параллельный поток, в главном потоке крутится  графика, во втором потоке опрос регистра и отправка данных в первый поток
для фотона используй PtAppAddInput()

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 14 Январь, 2021, 09:14:20