Что нового

Создать в GUI в разных закладках разные циклы

ВиталийВВ

Новичок
Сообщения
177
Репутация
0
Добрый день.
А возможно ли и если да, то как создать в одном GUI в разных закладках ("tab"-ах) разные циклы WHILE?
В приведенных примерах создание закладок - понятно, но по сути, все кнопки, при обработке, в одном GUI находятся внутри одного цикла. А можно ли, выбирай другой ТАБ, выбрать другой цикл (While)?
Надеюсь, правильно смог сформулировать свой вопрос :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
в чем неудобство одного цикла опроса?
можно использовать
Код:
GUICtrlSetOnEvent

реализация зависит от общей задачи
 
Автор
В

ВиталийВВ

Новичок
Сообщения
177
Репутация
0
В чем неудобство?:
суть - пишу программку, которая осуществляет поиск в некоторой базе. И буду использовать совершенно разные алгоритмы поиска (их будет 2 алгоритма), в частности:
1 - в первом алгоритме подразумевается поиск в базе при заполнении поля в котором вводится искомое значение
2 - во втором алгоритме подразумевается что поиск ведется по тому значению, которое находится в буфере обмена ( при этом это значение никуда не вставляется)
Если все слить в один цикл, то как циклу дать понять, что делать со значение в буфере? искать по нему, или же ждать когда оно поместиться в поле для поиска?


Добавлено:
Сообщение автоматически объединено:

Сейчас в голову пришло!!!!!!!
Подобное можно реализовать, использую Радио-Буттон!
В зависимости от выбора будет меняться алгоритм поиска.
Но с Табами - как то красивее вышло бы, выбирает чел нужный таб и в самом поле ГУИ видит, с чем работает (как вариант, некую краткую инструкцию...)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
ВиталийВВ [?]
Если все слить в один цикл, то как циклу дать понять, что делать со значение в буфере? искать по нему, или же ждать когда оно поместиться в поле для поиска?
все это нужно расписывать. сам цикл ничего делать не будет))
расписывать в функции, потом использовать эти функции для работы основных элементов. я не вижу никаких неудобств. не важно на какую вкладку таб нажали. опрашиваются нажатия на элементы



Добавлено:
Сообщение автоматически объединено:

Как узнать активную вкладку
 
Автор
В

ВиталийВВ

Новичок
Сообщения
177
Репутация
0
Не могу объяснить, но это не совсем то :smile:
Ибо во втором варианте/алгоритме одна из функций будет как бы короче....
Вот представьте:
вот есть у меня некая данная в буфере, и как мне дать понять программе, что с ней делать? уже обрабатывать, или ждать когда ее всунут в поле и уже поле обрабатывать?
Заполнено поле или нет - не показатель, ибо там могут быть прежние данные для поиска.

Ок тогда чуть иной вопрос:
Есть возможность удалить элемент ГУИ, а вот есть ли возможность скрыть элемент ГУИ?, чтоб потом (когда придет его время) его просто обратно раскрыть? (пытаюсь обойти вариант с табами вариантом в радио-кнопками)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
ВиталийВВ [?]
Заполнено поле или нет - не показатель, ибо там могут быть прежние данные для поиска.
использовать WM_ сообщения для определения изменений в поле ввода. на форуме много примеров
WM_NOTIFY
Сообщение выполняется при взаимодействии с элементами окна.
WM_COMMAND
Сообщение выполняется при клике на элементах окна.
и прочие

Есть возможность удалить элемент ГУИ, а вот есть ли возможность скрыть элемент ГУИ?, чтоб потом (когда придет его время) его просто обратно раскрыть? (пытаюсь обойти вариант с табами вариантом в радио-кнопками)
Код:
GUICtrlSetState
 
Автор
В

ВиталийВВ

Новичок
Сообщения
177
Репутация
0
joiner сказал(а):
ВиталийВВ [?]
Заполнено поле или нет - не показатель, ибо там могут быть прежние данные для поиска.
использовать WM_ сообщения для определения изменений в поле ввода. на форуме много примеров
WM_NOTIFY
Сообщение выполняется при взаимодействии с элементами окна.
WM_COMMAND
Сообщение выполняется при клике на элементах окна.
и прочие

Нет не то, значит не смог объяснить свой ход мысли.

Есть возможность удалить элемент ГУИ, а вот есть ли возможность скрыть элемент ГУИ?, чтоб потом (когда придет его время) его просто обратно раскрыть? (пытаюсь обойти вариант с табами вариантом в радио-кнопками)
Код:
GUICtrlSetState

Ага - это уже нашел, попробую по этому пути пойти. По сути это и будет имитация ТАБов. Завтра на работе буду пробовать, все исходники там.
 

Hiki

Новичок
Сообщения
27
Репутация
1
Код:
While GUICtrlRead($tab)=0
	;цикл для вкладки 1
WEnd

While GUICtrlRead($tab)=1
	;цикл для вкладки 2
WEnd

;и т д

А такое разве не подходит?
 
A

Alofa

Гость
Hiki сказал(а):
... А такое разве не подходит?
Если не учитывать что это изврат, то подходит, но только в одном случае: если вы активируете вкладки по порядку возрастания их ID.
 

Hiki

Новичок
Сообщения
27
Репутация
1
Alofa сказал(а):
Если не учитывать что это изврат, то подходит
;D Да, While по отдельности это конечно не то, что нужно, но можно все это засунуть например в Select.
И я правда не понимаю почему нельзя использовать GUICtrlRead для тех задач, что указал автор.
Проверяем в цикле значение GUICtrlRead, передаем его в переменную, и на основе значения этой переменной запускаем нужную функцию.
На мой взгляд ссылка на верное направление мысли дана еще в 4-м посту.
 
Верх