Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ещё раз о "подсказках"


Страницы:   1 2 3

Германн ©   (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 дней прошли, но обещанного часа для проверки должно бы хватить). Сщас попробую.
Стиль аэро как включить?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо