![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ещё раз о "подсказках"
Германн © (2010-11-05 02:10:00)Всё думаю как наиболее снабдить юзера подсказками. С хинтами на статус баре справился. Но статус бар не безразмерный. Очень длинная подсказка (скорее даже это уже не подсказка, а объяснение что это такое) туда не влезет. Вспомнилась мне при этом стандартная фишка Микрософт "Что это такое". Фишка включает в себя кнопку со значком вопроса, курсор со стрелкой и значком вопроса, плюс особое всплывающее окно, которое показывается когда этим курсором щелкнешь на дочернем окне.
Вот сам вопрос. Эта технология как-то реализована? В виде WinAPI'шных функций. (О реализации в Дельфи я не слышал, но вдруг и она есть?)
Или всё нужно делать ручками?
Д2007
sniknik (2010-11-07 10:41:00) [21]> Но вот в репозитарии я её (ту самую форму с кнопками) так и не увидел.
> Почему не увидел, не знаю. Моей квалификции недостаточно для понимания.
6. Пользоваться так: в меню File - New - Other,
затем в списке выбрать Frame Control Form.
DiamondShark (2010-11-07 09:09:00) [22]
> Юрий Зотов © (07.11.10 00:32) [26]
Ясно, спасибо.
Германн (2010-11-07 03:21:00) [23]
> Юрий Зотов © (06.11.10 11:39) [20]
Установил в Д2007. Пришлось правда потрудиться, что бы RunTime'мовскую bpl она увидела.
Но вот в репозитарии я её (ту самую форму с кнопками) так и не увидел.
Почему не увидел, не знаю. Моей квалификции недостаточно для понимания.
Германн (2010-11-07 02:44:00) [24]
> Юрий Зотов © (07.11.10 02:39) [31]
Я так и понял.
Юрий Зотов (2010-11-07 02:39:00) [25]
> Германн © (07.11.10 02:30) [30]
Можно в пути поиска самой Delphi. Куда угодно, лишь бы она видела.
Германн (2010-11-07 02:30:00) [26]
> Юрий Зотов © (07.11.10 02:21) [29]
Скачал. Попробую.
"добавить в переменную окружения Path" - это обязательно? Или просто "устар."
Юрий Зотов (2010-11-07 02:21:00) [27]> Германн © (07.11.10 02:06) [28]
http://webfile.ru/4878709
YzDCL70.zip, 26 кБ.
Исходники. В архиве есть файл ReadMe.1st - в нем все инструкции по компиляции, установке и использованию.
Пожелания, замечания, критика, восторги и любые прочие отзывы приветствуются. Особенно интересно, как эта штука поведет себя под W7 и Vista. Глюки будут практически наверняка, но насколько серьезные? That is a question.
Германн (2010-11-07 02:06:00) [28]
> Германн © (07.11.10 00:23) [25]
>
>
> > DiamondShark © (06.11.10 19:36) [23]
> >
>
> Спасибо, работает.
Хм. курсор меняет свой вид. А WM_HELP окну значит нужно всё равно ручками посылать.
Германн (2010-11-07 01:01:00) [29]
> Юрий Зотов © (06.11.10 11:39) [20]
Могу попробовать. Может и пригодится. Поскольку сейчас я кнопку сделал благодаря возможностям шкур. Если бы шкур не было...
Юрий Зотов (2010-11-07 00:32:00) [30]> DiamondShark © (06.11.10 19:40) [24]
Кнопка, конечно, рисованная (а нерисованных кнопок и не бывает), но не самопально, а системными средствами (DrawFrameControl). Поскольку все заголовочные кнопки система рисует точно так же, то можно сказать, что это все же стандартная кнопка. Тем более, что и реакция на нее тоже стандартная (собственно, никакой реакции и вовсе нет, просто обрабатывается WM_NCHITTEST и тогда система сама и хинт свой показывает, и посылает WM_SYSCOMMAND с SC_CONTEXTHELP, и все остальное тоже делает сама). Поэтому контекстная справка и делается обычным образом (создается файл справки и контролам назначаются индексы топиков), и работает стандартным образом (клик по кнопке вопроса, затем клик по контролу).
Заголовок формы получается немного укороченным (за счет дополнительной кнопки), поэтому он тоже рисуется, и тоже самой системой (DrawCaption) - то есть, системным шрифтом, системными цветами, включая иконку (если она назначена), текст, градиент (если включен), многоточие при обрезке текста и все остальное.
Германн (2010-11-07 00:23:00) [31]
> DiamondShark © (06.11.10 19:36) [23]
>
Спасибо, работает.
DiamondShark (2010-11-06 19:40:00) [32]
> Юрий Зотов © (06.11.10 11:39) [20]
> Если кому интересно и есть смысл выкладывать - отпишитесь
> здесь.
Только пакет не нужен (за отсутствием дельфей).
Достаточно в двух словах о способе, которым удалось показать кнопку контекстной справки вместе с кнопками минимизации/максимизации.
Если это не стандартная заголовочная кнопка, а нарисованная штучка или ещё какой трюк, то не надо.
DiamondShark (2010-11-06 19:36:00) [33]
> sniknik © (06.11.10 19:13) [22]
> "нам" обязательно стандартно.
А-а... Ну, ждите подарка от микрософта.
> Германн © (06.11.10 01:38) [14]
> А то ручками слишком сложно имитировать такое поведение.
WM_SYSCOMMAND с параметром SC_CONTEXTHELP
sniknik (2010-11-06 19:13:00) [34]> А вам обязательно в заголовок?
"нам" обязательно стандартно. вот когда в обычном интерфейсе от ms войдут в моду кнопки на тулбаре аля "Что это такое?", тогда подумаем.
> посылайте WM_SYSCOMMAND с параметром SC_CONTEXTHELP
проще уж F1 нажать, да и объяснять по телефону короче. а то для такой кнопки как бы своя кнопка "Что это такое?" не понадобилась.
DiamondShark (2010-11-06 18:05:00) [35]
> sniknik © (05.11.10 10:28) [5]
> Anatoly Podgoretsky © (05.11.10 10:44) [6]
> sniknik © (05.11.10 11:01) [7]
А вам обязательно в заголовок?
Добавьте кнопку на тулбар, по нажатию кнопки посылайте
WM_SYSCOMMAND с параметром SC_CONTEXTHELP
Будет совсем как "Что это такое?"
Юрий Зотов (2010-11-06 11:39:00) [36]Делал когда-то форму с любым сочетанием системных кнопок, включая и кнопку вопроса. Оформлена в виде пакета, который инсталлируется в IDE обычным образом, после чего в репозитории IDE (меню File-New-Form) появляется искомая форма. При нажатии на кнопку вопроса возникает событие, для которого надо только написать обычный обработчик. Кроме того, форма позволяет вставить в свой заголовок и любой контрол с окном системного класса BUTTON (это обычные кнопки, чекбоксы и пр.), причем никакого кода для этого писать не нужно, все делается через Инспектор Объектов.
Делал в D7, тестировал под W2K и XP. Работает нормально, могу выложить в исходниках. Но вряд ли будет корректно работать при использовании тем XP и тем более под W7 и Vista (да под ними даже и не тестировалось ни разу).
Если кому интересно и есть смысл выкладывать - отпишитесь здесь.
Германн (2010-11-06 02:30:00) [37]В семёрке вызвал попап на десктопе. Выбрал "personalize". Затем выбрал одну из Aero themes. Кнопка жива.
Хотя да. Я понял тебя.
Ты хочешь делать стандартные окна. Т.е. вид этих окон определяется Виндой. У меня не стандартное окно, благодаря моему заказчику.
Германн (2010-11-06 02:14:00) [38]
> sniknik © (06.11.10 02:12) [17]
Сщас попробую.
sniknik (2010-11-06 02:12:00) [39]где то в панели управления должна быть настройка экрана (как темы в свойствах экрана в XP, а может там тоже есть)...
я как то тоже без этих "супер операционок" обхожусь.
Германн (2010-11-06 02:05:00) [40]
> sniknik © (06.11.10 01:57) [15]
>
> > Добавить свою кнопку слева от системных не проблема.
> в висте/имн7 под стиль аэро/... ???
>
Не знаю. Не пробовал. Пока.
Висты у меня нет. Семерка триальная есть (правда 90 дней прошли, но обещанного часа для проверки должно бы хватить). Сщас попробую.
Стиль аэро как включить?