|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
||||||
Изолированное окно в одну процедуру02.02.2025, 20:23. Показов 1861. Ответов 15
Метки нет (Все метки)
Ума не приложу, возможно ли такое. Имею программу с кучей окон, решил добавить ещё одно (типо что бы принимала введённые данные) и понял что для этого нужно выполнить кучу действий.
Прописать константу окна Прописать константы гаджетов В основной цикл вписать события вот и призадумался... Можно ли в одной процедуре реализовать вывод этого окна, что бы не распыляться на весь код и не мусорить в него. Знаю про BindGadgetEvent() но это как минимум две процедуры получится... И константы гаджетам всё равно глобально нужно присвоить... Может есть какое либо решение, одной независимой процедурой?
Прочитал про изолированные модули, но особо не понял как их применить к конкретной, данной задачи.
0
|
||||||
| 02.02.2025, 20:23 | |
|
Ответы с готовыми решениями:
15
Запуск нескольких процедур одним макросом Одновременное выполнение разных процедур в одном файле? Выполнение процедур одна за другой |
| 02.02.2025, 23:12 | |
|
Посмотри как я создаю окно в процедуре, блокирую родительское, передаю хендл родительского дочернему, чтобы оно было дочернее и там же открываю цикл опроса только для событий текущего окна. Потом закрываем окно и разблокируем родительское.
Вот
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
|
| 03.02.2025, 21:31 [ТС] | |
|
AZJIO, И в чём изоляция?
0
|
|
|
|
||||||||||||
| 04.02.2025, 01:38 | ||||||||||||
Сообщение было отмечено CryptoNickSoft как решение
Решение
Перечисления не обязательно должны быть в одном и том же месте. Их можно продолжать в дальнейшем в коде.
1
|
||||||||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
|||||||
| 04.02.2025, 10:32 [ТС] | |||||||
|
locm, Благодарю! Всё таки направление моей мысли было правильным. Но чуть не хватило знаний что бы до конца реализовать...
В основном цикле события всё равно есть, но у них ID уникальный, поэтому пофиг, действия на них там не прописаны. Добавлено через 2 минуты
0
|
|||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
|||||||
| 04.02.2025, 22:15 [ТС] | |||||||
|
Набросал пример:
Также заменил BindGadgetEvent() на BindEvent() ибо раз прописал и все гаджеты под контролем.
0
|
|||||||
|
|
|||||||
| 04.02.2025, 23:11 | |||||||
|
В моем коде существование окна не проверяется
0
|
|||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
|
| 05.02.2025, 00:22 [ТС] | |
|
locm, Да почему то у меня пересеклось с основным окном и код неправильно работал...
Хотя сейчас смотрю, всё нормально должно быть... Проверять нужно, есть ли окно.. Вот прям по примеру... Клацаем кнопку один, открывается дочернее окно Window значение прописалось. Закрываем дочернее окно. Пытаемся вновь открыть. А код думает что окно то есть... Если Window=0 и у основного окна также, то детект будет неверным.. Для вашего варианта, после закрытия окна, нужно в переменную Window вписать ноль... А если забыл это сделать, то увы, будут проблемы.
0
|
|
|
|
||||||||
| 05.02.2025, 01:54 | ||||||||
Сообщение было отмечено CryptoNickSoft как решение
Решение
Вот к примеру вы забыли UnbindEvent() и проверять какому окну принадлежат события.
0
|
||||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
||||||
| 05.02.2025, 09:29 [ТС] | ||||||
|
locm, Так ещё лучше! Благодарю за помощь.
Пока не понял как и куда добавить одинаковые действия внутри процедуры Например нажатие кнопки Ок и Enter на клавиатуру в гаджете ввода текста События разные, а действия почти идентичные, взять данные с поля ввода и выполнить код... Не два раза же его писать... Хотя... Можно же перенаправить действия на код кнопки:
0
|
||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
||||||||||||||||
| 13.02.2025, 09:00 [ТС] | ||||||||||||||||
|
Хочу навесить горячие клавиши на окно, но что бы не было пересечений с основным окном...
Можно конечно в основном потоке считывать события лишь в указанных окнах
0
|
||||||||||||||||
|
|
|||||||
| 13.02.2025, 12:01 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
|||||||||||||||||||||||||||
| 16.02.2025, 09:41 [ТС] | |||||||||||||||||||||||||||
|
Ладно когда пишется проект с нуля, а вот если добавить в готовый проект, где много окон. Ну что же, придётся сделать что то типо этого:
Или так, заменить в вашем примере:
Или так:
! Нужно сделать определение. ID окна из списка констант (от 0 до..) или ID сгенерировано #PB_Any (восьмизначное)
0
|
|||||||||||||||||||||||||||
|
|
|||||||||||
| 16.02.2025, 15:29 | |||||||||||
|
Номер окна может быть не больше 5000.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 17.10.2021
Сообщений: 57
|
|
| 16.02.2025, 15:35 [ТС] | |
|
Проверяйте
Всё отлично! Благодарю!
0
|
|
| 16.02.2025, 15:35 | |
|
Помогаю со студенческими работами здесь
16
Количество процедур в одном модуле
Копирование текста из одного текстового окна в другое Вставка текста одновременно в 2 окна ввода текста Копирование текста из одного окна в другое Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|