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

Поиск:

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


Новичок



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

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



привет друзья!
если форма Form1 чистая то всё работает
если я добавляю в Form1 любой элемент кнопку картинку или ещё что-то
то нажатие кнопки не работает.
как вернуть фокус форме
или что сделать что бы всё работало само по себе?

Код

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = 32 Then
      MsgBox "нажат пробел"
   End If
End Sub

PM MAIL   Вверх
Akina
Дата 11.3.2019, 07:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

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





--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest45
Дата 26.3.2019, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Wedi @ 10.3.2019,  16:31)
как вернуть фокус форме
 Form1.SetFocus
Не?..


PM MAIL   Вверх
Wedi
Дата 27.3.2019, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Guest45,в принципе KeyPreview решает проблему а вот с фокусом я так и не разобрался
куда это впихнуть ума не приложу Form1.SetFocus. хоть и попробовал в form_load его тиснуть
но результата нет кроме "Invalid procedure call or argument"

Это сообщение отредактировал(а) Wedi - 27.3.2019, 15:28
PM MAIL   Вверх
Guest45
Дата 27.3.2019, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

А вообще, у объектов есть свойство TabIndex, которое определяет очередность получения ими фокуса.
Присвойте TabIndex = 0, и объект будет иметь фокус исходно, "по умолчанию".

PM MAIL   Вверх
Wedi
Дата 27.3.2019, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Guest45, а на кнопках другого значения TabIndex = 0 и нет
по умолчанию 0
в Form_Activate добавил но фокус всё равно на кнопке изначально появляется

вот код на форме кнопка:
Код

Option Explicit

Private Sub Command1_Click()
   End
End Sub

Private Sub Form_Activate()
   Form1.SetFocus
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = 32 Then
      MsgBox "нажат пробел"
   End If
End Sub

Private Sub Form_Load()
   Form1.KeyPreview = True
End Sub


Добавлено через 13 минут и 59 секунд
да тут подумал немного
если сделать на форме картинку и передать фокус ей то всё получается
Код

Private Sub Command1_Click()
   Picture1.SetFocus
   End
End Sub



Это сообщение отредактировал(а) Wedi - 27.3.2019, 16:30
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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