Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 17:52   #1
oxJass
Пользователь
 
Регистрация: 03.12.2010
Сообщений: 17
По умолчанию Проблема с окнами

Есть окно, класс которого таков:#33333
И там же имеется "диалог", где нужно вводить текст. Класс которого такой-же.
Что нужно. Нужно определить открыто ли окно диалога, после чего вводить в тот edit свой текст.
Проблема: с определением, открыто ли окно.
Т.е., на таймере ставлю проверку
Код:
 if FindWindow('#33333',nil) <>0 then...
(Заголовок диалога каждый раз меняется.)
Получается так: он находит окно #33333, и пытается вписать туда текст, после чего вылетает ошибка, потому что в том окне edit'a не существует.
Как определить что открыто #33333(dialog) ?
oxJass вне форума Ответить с цитированием
Старый 03.06.2011, 17:57   #2
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

попробуй поставь ожидание на нажатие кнопки открытия dialog
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 03.06.2011, 19:36   #3
oxJass
Пользователь
 
Регистрация: 03.12.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
попробуй поставь ожидание на нажатие кнопки открытия dialog
каким образом это можно реализовать?
oxJass вне форума Ответить с цитированием
Старый 03.06.2011, 20:07   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а кто вам мешает проверять наличие этого Эдита?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.06.2011, 20:11   #5
oxJass
Пользователь
 
Регистрация: 03.12.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а кто вам мешает проверять наличие этого Эдита?
Код:
if FindWindowEx(h1,0, 'Edit', '') <> 0 then begin...
не помогает. Он не видит edit'a, может потому что смотрит не по диалогу.
oxJass вне форума Ответить с цитированием
Старый 03.06.2011, 21:28   #6
oxJass
Пользователь
 
Регистрация: 03.12.2010
Сообщений: 17
Радость

Проблема решена.
Ошибка была в строке
Код:
if FindWindowEx(h1,0,'Edit','')<>0 then begin...
window name стояло = '', а надо ...FindWindowEx(h1,0,'Edit', nil)...
Всем спасибо.
oxJass вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с окнами Kazik Помощь студентам 4 22.01.2011 16:06
Работа с окнами RuVarez Общие вопросы Delphi 2 01.09.2010 16:14
Работа с окнами Vladya Помощь студентам 5 07.05.2010 21:22
Проблема с дочерними окнами artem779 БД в Delphi 3 17.03.2009 13:55
работа с окнами Briz Общие вопросы Delphi 5 07.10.2007 22:20