Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 208
∙ повысить рейтинг »
Предтеча
Статус: Специалист
Рейтинг: 77
∙ повысить рейтинг »
PsySex
Статус: Профессионал
Рейтинг: 72
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Basic/VBA

Номер выпуска:1106
Дата выхода:17.02.2016, 16:21
Администратор рассылки:Андреенков Владимир (Профессор)
Подписчиков / экспертов:13 / 9
Вопросов / ответов:3 / 5

Консультация # 48610: Здравствуйте, эксперты! VB.NET Есть панель инструментов, на ней кнопки с изображениеями, которые хранятся в ImageList. Для каждой кнопки по три изображения: обычное, недоступное и при наведении мыши на кнопку. Но как сделать так, чтобу изображение менялось при наведении мышки на кнопку. Код Private Sub ToolBar1_MouseHover(ByVal...
Консультация # 13276: Уважаемые господа эксперты! Есть необходимость работы с базами дынных. Для себя я решил, что база будет в Access. Вопрос: каким Basic`ом лучше с ней работать: VBA или VB (6.0 например)? Спасибо, с уважением, Piter...
Консультация # 23572: Здравствуйте. Вопросы по Microsoft Visual Basic 6.0. 1.Как сделать чтоб программа выполняла команды по нажатию клавиш даже когда она работает в скрытом режиме (hide). Если окно программы открыто и использовать оператор KeyCode = (33, 39 и тд), то программа выполняет все команды которые в ней запрограммированы, а в скрытом режиме программа ...

Консультация # 48610:

Здравствуйте, эксперты!
VB.NET
Есть панель инструментов, на ней кнопки с изображениеями, которые хранятся в ImageList. Для каждой кнопки по три изображения: обычное, недоступное и при наведении мыши на кнопку.
Но как сделать так, чтобу изображение менялось при наведении мышки на кнопку.
Код
Private Sub ToolBar1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolBar1.MouseHover
ToolBarButton1.ImageIndex = 2
End Sub

Private Sub ToolBar1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolBar1.MouseLeave
ToolBarButton1.ImageIndex = 1
End Sub

работает когда мышь попадает в любое место панели, а не только на кнопку.

Дата отправки: 09.07.2006, 14:37
Вопрос задал: Godal
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Александр Шевченко:

Здравствуйте, Godal!
Правильно, событие-то ведь для Тулбара, а не для кнопки. Попробуй в событии ToolBar1_MouseMove по координатам мыши вычислять кнопку под ней с помощью функции ToolBar1.GetItemAt(x, y) - она возвратит кнопку под координатами мыши, ее подсвечиваешь, остальные - нет.

Консультировал: Александр Шевченко
Дата отправки: 10.07.2006, 09:19
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 13276:

Уважаемые господа эксперты!
Есть необходимость работы с базами дынных. Для себя я решил, что база будет в Access.
Вопрос: каким Basic`ом лучше с ней работать: VBA или VB (6.0 например)?
Спасибо, с уважением, Piter

Дата отправки: 01.01.2004, 00:01
Вопрос задал: Piter
Всего ответов: 2
Страница онлайн-консультации »


Консультирует maxim:

Добрый день, Piter!
VBA-удобнее,так как ты будешь и так в среде.
Но если надо "разовые"
тестовые проги для лаб делать-проще
использовать
VB6.0, я и сам привык.
ГудЛак

Консультировал: maxim
Дата отправки: 01.01.2004, 00:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Miklucho:

Добрый день, Piter!
VBA он ведь только внутри офиса работает, самостоятельных приложений на нем не создашь (если не прав поправьте). Так что тут все зависит от целей программирования.
А вообще в VB6 работа с базами данных поставлена довольно просто, поищи самоучители. Или ко мне обращайся, на mkop_@rambler.ru.

Консультировал: Miklucho
Дата отправки: 01.01.2004, 00:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 23572:

Здравствуйте.
Вопросы по Microsoft Visual Basic 6.0.
1.Как сделать чтоб программа выполняла команды по нажатию клавиш даже когда она работает в скрытом режиме (hide). Если окно программы открыто и использовать оператор KeyCode = (33, 39 и тд), то программа выполняет все команды которые в ней запрограммированы, а в скрытом режиме программа не реагирует на нажатие клавиш.
2.Почему программа работает при использований одной клавиши на одну функцию, а при использований 2 клавиш на одну функцию программа не работает, и как это исправить? Смотри пример
Пример:
If KeyCode = 18 Then END (так работает) 18 - ALT
If KeyCode = 18 + 36 Then END (так не работает) 36 - Home
3. При использований клавиш для выполнения команд если в окне нет кнопок, то работает идеально, но если добавить кнопку (например “Выход”) то нажатия клавиш игнорируются.

Дата отправки: 15.07.2005, 23:13
Вопрос задал: Дмитрий Хаймин
Всего ответов: 2
Страница онлайн-консультации »


Консультирует PsySex (Профессионал):

Здравствуйте, Дмитрий Хаймин!
1. Почитай здесь:
http://www.sources.ru/vb/system/creating_hotkey_for_application.shtml

2. Потому, что надо делать так:
If KeyCode = 18 or KeyCode = 36 Then END
иначе 18+36=54; идет такая проверка KeyCode = 54

3.Потому, что при добавлении кнопки на форму и нажатии клавиш уже обрабатывается не Form_KeyDown, а Command1_KeyDown.
Что бы всё работало как ты хочешь установи Form1.KeyPreview = True.

Консультировал: PsySex (Профессионал)
Дата отправки: 16.07.2005, 01:06
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Залетин Виталий Викторович:

Здравствуйте, Дмитрий Хаймин!
1. Используйте таймер (он работает даже когда основное окно программы не активно, т. е. свернуто и Вы занимаетесь чем-то другим. При этом в его событии Timer используйте АПИ функцию GetAsyncKeyState(код клавиши), которая вернет Истину, если нажата эта клавиша) либо чистое АПИ (DefWindowProc).

2. 18+36 дает 54 - Ваша прога ждет нажатия клавиши именно с таким кодом.
Если Вы хотите,чтобы программа реагировала и на 18 и на 36, то пишите эту строку так:
If Keycode=18 OR Keycode=36 Then
..
End if
Или так:
If Keycode=vbKeyAlt Or KeyCode=vbKeyHome Then
..
End if

3. У формы есть свойство KeyPreview - установите его в True и все заарботает.

Консультировал: Залетин Виталий Викторович
Дата отправки: 16.07.2005, 12:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное