Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Toolbox и подчиненные формы? 
:(
    Опции темы
x_Coder
Дата 26.1.2004, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



У меня вопрос на 1млн. долларов! Если сможете подскажите. Буду ОЧЕНЬ прзнателен.

Представте, что есть некая программка. И визуально она похожа на Photoshop. То есть, слева находится панелька (Toolbox window) с кнопочками для выполнения различных действий. Так вот в чем вопрос:
1. как узнать или определенная форма открыта (то есть можна ли активизировать кнопки Toolbox'а).
2. Как после нажатия на соответствующюю кнопку активизировать форму, если она уже была открыта (передать ей фокус, что ли.) Пробовал Setfocus, ничего не получается. Возможно я не так пробовал.
Заранее благодарен!
PM MAIL   Вверх
B@k$
Дата 26.1.2004, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Для определения вивдимости формы используют следующее:
Код
If Form1.Visible = True Then ...


А для обработки переданного фокуса нужно сделать процдуру-обработчик события GotFocus:

Private Sub Form1_GotFocus()
End Sub
PM MAIL   Вверх
x_Coder
Дата 27.1.2004, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Главное!
1) Как определить или форма активна, а не видима.
2) Как именно передается фокус окну. Какой код?

Как пользоваться hWnd?
PM MAIL   Вверх
cardinal
Дата 27.1.2004, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Создай две формы и помести на них по три кнопки соответствующими названиями (см. исходник). В первую форму помесит след. код:
Код
Dim F1Active As Boolean

Private Sub Form2Show_Click()
Form2.Show
End Sub

Private Sub Form_Activate()
F1Active = True
End Sub

Private Sub Form_Deactivate()
F1Active = False
End Sub

Private Sub OtherActive_Click()
Debug.Print F2Active = True
End Sub

Private Sub MeActive_Click()
Debug.Print F1Active = True
End Sub

На вторую форму помести этот код:
Код
Dim F2Active As Boolean

Private Sub Form1Show_Click()
Form1.Show
End Sub

Private Sub Form_Activate()
F2Active = True
End Sub

Private Sub Form_Deactivate()
F2Active = False
End Sub

Private Sub OtherActive_Click()
Debug.Print F1Active = True
End Sub

Private Sub MeActive_Click()
Debug.Print F2Active = True
End Sub

Вот такой простой примерчик. Мне например не известно что-то похожего на HasFocus, но может кто-нибудь что получше посоветует.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
x_Coder
Дата 30.1.2004, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Спасибо! Хорошая идея.
Можно также использовать свойство ActiveForm smile.gif
PM MAIL   Вверх
cardinal
Дата 30.1.2004, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата
свойство ActiveForm

Это где?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
x_Coder
Дата 4.2.2004, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Свойство ActiveForm возвращает ссылку на активную форму в MDI приложении.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.