Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2010, 04:43   #1
KaimNotark
Пользователь
 
Регистрация: 10.12.2009
Сообщений: 23
По умолчанию Как узнать открыл пользователь окно или нет?

Добрый день.

Нужно программно реализовать следующий алгоритм:

1. Проверяем открыто ли дочернее окно (WindowD2) или нет ?
2. Если открыто, то делаем то-то и то-то
3. Если нет, то ничего не делаем.

Сложность для меня закл. в первом пункте.

Код:
//-- обновляем выпадающий список в окне Д-2
      // смотрим окно Д-2 открыто или нет, если нет, то ничего не делаем
      if F_WindowD2.????????????????
      then
      F_WindowD2.ZROQuery_VOnWork.Refresh;
KaimNotark вне форума Ответить с цитированием
Старый 08.02.2010, 08:15   #2
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Код:
  if F_WindowD2.Visible then...
maxionans вне форума Ответить с цитированием
Старый 08.02.2010, 08:45   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Самая главная сложность - это то что ты не указал насколько это окно дочернее и для кого.
Рекомендую: Есть программы типа SpyXX которые показывают как вложены окна, вот с помощью нее выясни кому принадлежит искомое окно, а потом найди верхнее окно (FindWindow) а в ней уже (FindWindowEx) найди нужное, согласно тому как оно вложено в родительские окна. Короче - исследуй окна.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.02.2010, 12:02   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

может ещё глянуть
function GetParent(Wnd: HWnd): HWnd;
SERG1980 вне форума Ответить с цитированием
Старый 09.02.2010, 09:30   #5
KaimNotark
Пользователь
 
Регистрация: 10.12.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от maxionans Посмотреть сообщение
Код:
  if F_WindowD2.Visible then...
Не работает.
Не работает так же и следующая конструкция:

Код:
if Assigned(F_WindowD2) then
KaimNotark вне форума Ответить с цитированием
Старый 09.02.2010, 09:38   #6
KaimNotark
Пользователь
 
Регистрация: 10.12.2009
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Самая главная сложность - это то что ты не указал насколько это окно дочернее и для кого.
Рекомендую: Есть программы типа SpyXX которые показывают как вложены окна, вот с помощью нее выясни кому принадлежит искомое окно, а потом найди верхнее окно (FindWindow) а в ней уже (FindWindowEx) найди нужное, согласно тому как оно вложено в родительские окна. Короче - исследуй окна.
Что ж, попробуем разобраться:
1. Имеется родительское окно, оно открывается при запуске программы. Назовем его WinROD.
2. Далее из меню WinROD открываются еще два окошка Win_1 и Win_2.
3. В Win_1 кнопка, при нажатии котрой в Win_2 должен обновиться SQL запрос (F_Win_2.Query.Refresh.
4. Пробовал конструкции:
4.1. Assigned(F_Win_2)
4.2. F_Win_2.Visible
они работают, если Win_2 открыто, в противном случае - ПК выдает ошибку.

С окнами разобрались.

Однако , каким должен быть программный код - по-прежнему не ясно.
Ошибка в том, что я пытаюсь из дочернего окна обратиться к дочернему?
Или в чем?
KaimNotark вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыл ли пользователь любой вебсайт Sasha811 Общие вопросы C/C++ 0 16.12.2009 17:26
Как узнать, какой IP или пользователь создал файл Jantar Общие вопросы Delphi 4 17.11.2009 13:29
Как проверить скрыто окно или нет? BuT@JL Общие вопросы Delphi 9 13.11.2009 15:19
Как на JavaScript узнать, что пользователь закрыл окно? Laziz JavaScript, Ajax 1 22.02.2009 21:16
как узнать что введено а Edit1 цифры или нет doncova1 Компоненты Delphi 9 05.02.2007 10:43

Реклама для незарегистрированных, регистрация на форуме