Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблемка с элементами управления

411
14 декабря 2009 года
Serzh
136 / / 09.07.2003
Я так понимаю, что если элементу управления
(кнопке - например) сопоставлена картинка
bitmap, а в свойстве Caption есть что-то (текст),
то это что-то в обычном режиме должно
всплывать рядом с картинкой при наведении
на нее мышой, вроде того, как это происходит
с примечанием к ячейке...

Однако, на деле этого нет, а это что-то норовит
отобразиться вместе с картинкой. Естественно,
и картинка, и это что-то отображаются, мягко
говоря, кривовато...

Кто может что по этой проблемке присоветовать?
275
14 декабря 2009 года
pashulka
985 / / 19.09.2004
Нет, Вы ошибаетесь, для получения всплывающей подсказки необходимо использовать свойство ControlTipText, правда оно доступно только для кнопки, расположенной на UserForm. Если же элемент управления находится на рабочем листе, то в таком случае можно, например, воспользоваться следующим советом.
411
15 декабря 2009 года
Serzh
136 / / 09.07.2003
Вот текст из твоей ссылки:

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If iFlag = False Then
iFlag = True 'iFlag = Not iFlag
Me.Rectangles(1).ShapeRange.Visible = msoTrue
Application.OnTime EarliestTime:=DateAdd("s", 1, Now), Procedure:="Restore_UnVisible"
End If
End Sub

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

И еще: зачем устанавливать время для отображения
подсказки? Пока мыша над кнопкой, нехай и подсказка
висит!?...

И опять же: автофигуру надо располагать в начально
скрытом виде где-то рядом с кнопкой. Лишний
графический объект "утяжеляет" (во, блин, еле
выговорил) книгу... А нельзя связать эту процедуру
с ячейкой рабочего листа (тоже рядом с кнопкой),
в которой записано примечание и активировать его
(примечание) подобно тому, как это делается при
наведении мыша на соответствующую ячейку?
275
15 декабря 2009 года
pashulka
985 / / 19.09.2004
[QUOTE=Serzh]Не понятно назначение параметров процедуры[/QUOTE]

Выделяете в редакторе VBA MouseMove и нажимаете клавишу F1

[QUOTE=Serzh]в теле они нигде не используются...[/QUOTE]

Их использование не носит обязательного характера, т.к. нам необходимо отловить только перемещение мышки над элементом управления.

[QUOTE=Serzh]И еще: зачем устанавливать время для отображения
подсказки? Пока мыша над кнопкой, нехай и подсказка
висит!?...[/QUOTE]

Время, в основном, используется для скрытия подсказки.

[QUOTE=Serzh]И опять же: автофигуру надо располагать в начально
скрытом виде где-то рядом с кнопкой.[/QUOTE]

Первоначальное скрытие, опять-таки, не обязательно, однако желательно, т.к. в частности позволяет избежать и удаления подсказки и предварительного ознакомления.

[QUOTE=Serzh]Лишний графический объект "утяжеляет" (во, блин, еле
выговорил) книгу....[/QUOTE]

Это действительно так.

[QUOTE=Serzh] А нельзя связать эту процедуру
с ячейкой рабочего листа (тоже рядом с кнопкой),
в которой записано примечание и активировать его
(примечание) подобно тому, как это делается при
наведении мыша на соответствующую ячейку?[/QUOTE]

У ячейки нет события MouseMove, но Вы можете использовать обычное примечание, либо использовать обычный Label, подогнав его размеры под размеры ячейки, установив опцию перемещать и изменять размеры вместе с ячейкми, установив прозрачный фон, а затем использовать вышеупомянутое событие MouseMove
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог