Страница 1 из 1
"Выпадающий" Label на форме
Добавлено: 07 мар 2008, 01:25
VictorM
Здравствуйте, Уважаемые.
Как-то видел в одном из проектов Excel такую "фишку".
На форме вверху расположен Label, видна только небольшая нижняя часть (полоска). При наведении курсора на эту полосу - "выезжает" вниз весь Label и находится в открытом положении, пока курсор в пределах этого объекта. При перемещении курсора за пределы объекта он, через некоторое время, опять скрывается вверх.
Кто нибудь знает как такое можно реализовать?
Спасибо.
Re: "Выпадающий" Label на форме
Добавлено: 07 мар 2008, 19:05
VictorM
В дополнение:
нашел я эту программу -
Atled Payment Master '99 ver 7.0
Выдернул код который делает то, о чем я писал выше (да простит меня автор - только для изучения). И вроде все получилось, но оказалось все не так просто.
Программа поставляется exe файлом
apm81x97.exe и инсталируется в систему. В процессе установки прописывает специализированные библиотеки.
Так вот, на машине на которой эта АРМ устанавливалась пример работает как надо, даже после деинсталяции самой программы (качество деинсталяции:rolleyes

, т.е. библиотеки остаются и все работает.
Когда же я, на радостях

, запустил пример на другой машине, на которой не устанавливалась эта АРМ, сразу вылезла ошибка

нет библиотек...
И вот вопрос - можно ли как-то с этим справиться?
p.s. Приложенный файл как раз и должен вызовать ошибку при запуске формы.
Re: "Выпадающий" Label на форме
Добавлено: 08 мар 2008, 01:18
Aent
VictorM, ну все такие вещи делаются практически одинаково.
Размещаете на форме таймер(скажем из VB6) и после обнаружения мыши в
определённой области начинаете прявлять и двигать анимируемый объект.
Но будут проблемы с лицензией. Так что наиболее правильно сделать это не
через контрол а с помощью WinAPI и callback. Пример здесь:
http://www.citforum.ru/programming/vb/v ... pi/8.shtml
Так же смотрите:
http://www.tushar-mehta.com/excel/software/vba_timer/
Re: "Выпадающий" Label на форме
Добавлено: 08 мар 2008, 01:30
Aent
А можно и без таймера обойтись. Одним sleep.
Посмотрите как отрисовываются ProgressMeter
http://www.andypope.info/vba/pmeter.htm
и вообще про рисование на пользовательских формах VBA
http://www.andypope.info/vba/userformdraw.htm
Re: "Выпадающий" Label на форме
Добавлено: 08 мар 2008, 13:21
VictorM
Aent, большое спасибо за ссылки. Попытаюсь разобраться WinApi.
Re: "Выпадающий" Label на форме
Добавлено: 09 мар 2008, 01:37
VictorM
Получилось вот такое

(см. вложенный файл).
Как подсказал
Aent, применил sleep.
Может что и не правильно, с точки зрения профессионала, но выполняется то, что я хотел

Re: "Выпадающий" Label на форме
Добавлено: 09 мар 2008, 11:11
VictorM
А вот это - то, ради чего все затевалось.
Выпадающий календарь от Avsha
Re: "Выпадающий" Label на форме
Добавлено: 09 мар 2008, 14:21
AlexZZZ
" писал(а):А вот это - то, ради чего все затевалось.
Выпадающий календарь от Avsha
Прикольно! Новая игра: поймай календарик,..если сможешь.

А он ещё и дразнится!

Re: "Выпадающий" Label на форме
Добавлено: 09 мар 2008, 17:30
VictorM
Прикольно! Новая игра: поймай календарик,..если сможешь. А он ещё и дразнится!
не знаю, у меня все четко.

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