Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
1

OnMouseMove + Hint

24.02.2012, 14:39. Показов 4299. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Надо чтобы при движении мыши по PaintBox постоянно показывался изменяющийся Hint
Вот обработчик OnMouseMove на PaintBox
C++
1
2
3
4
5
6
7
8
void __fastcall TForm3::Pb1Move(TObject *Sender, TShiftState Shift, int X,  int Y)
{ char b[20]; double jd;
   jd = Beg3 + X * (End3 - Beg3) / W; // Это вычисление момента времени по координате
   sprintf(b, "%s", jul_to_char(jd));
   // wrjur("b=%s", b);  .. Протоколирование
   PBox1->ShowHint = true;  // Это вставил позже - не помогло
   Hint = b;
}
Так вот, Hint показывается очень редко. Чаще всего при выходе за границы PaintBox и повторном входе в него. Но не обязательно. При остановке мыши через пару секунд пропадает.
Но протоколирование показывает, что было очень много входов в этот обработчик.
Что я делаю не так?
Есть ли способ насильно показать Hint ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2012, 14:39
Ответы с готовыми решениями:

OnMouseMove
Добрый день! Ребята подскажите по такому вопросу. У компонента SpeedButton нет свойства...

ListBox + onMouseMove
Всем привет. Не подскажите как при этом событии установить фокус/селект на листбокс. Что бы не...

Рисование на канве, событие OnMouseMove
Доброго всем времени суток. Прошу помощи в решении. Задача такова: Приложение рисует на канве...

C++ Builder OnMouseMove не меняется Sender при ssLeft
Здраствуйте! Есть код, который при движении мыши и нажатии лкм выводит в Edit название...

7
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
24.02.2012, 15:32 2
Немного не так получилось но уже чтото а именно Hint показывается когда заходиш на объект а потом как только двиниш курсор внутри объекта опять появляется...
хотя я понимаю что тебе требо чтоб всегда был...
Миниатюры
OnMouseMove + Hint  
2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
24.02.2012, 19:00  [ТС] 3
Samrisbe, Ну хоть что-то! Спасибо и на том. Этот Hint, видимо, хитрая штучка.
Попробовал (в OnMouseMove) перещелкнуть без таймера
C++
1
2
PBox1->ShowHint=false;
PBox1->ShowHint=true;
Ноль реакции.
Пока сделал в дополнение к Hint-у просто вывод текущего времени в статическую область на графике типа Label). Остается уговорить заказчика, что так ему будет намного удобнее

Добавлено через 3 часа 5 минут
В чулане наткнулся на книжечку Елены Кондратюк "Трюки & Эффекты С++" Там нашлись такие любопытные свойства
C++
1
2
3
          Application->HintPause = 5;
          Application->HintHidePause = 500000;
          Application->HintShortPause = 10;
Это я их так выставил, хотя пробовал по-разному.
Нужного эффекта этим трюком я не добился. И с таймером и без.
В последнем варианте при движение Hint замирает. Хотя отображение в статической области меняется. Щелчок мышкой - Хинт меняется.
Лично мне эти игрушки не так уж и важны. Попробую заказчика уболтать. А если уж упрется - сделаю с сохранением области в Image, с собственным рисованием на канве, даже интересно - будет полезный инструмент.
Просто делюсь открытиями с товарищами по несчастью и оружию
2
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
24.02.2012, 19:11 4
как вариант - я в таких случаях применяю StatusBar; в этом случай хинт компонента под курсором появляется моментально. Добиться такого от всплывающего хинта без перенастройки Винды мне кажется невозможным.
2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
24.02.2012, 19:22  [ТС] 5
Цитата Сообщение от nick42 Посмотреть сообщение
как вариант - я в таких случаях применяю StatusBar; в этом случай хинт компонента под курсором появляется моментально. Добиться такого от всплывающего хинта без перенастройки Винды мне кажется невозможным.

Не по теме:

Ах, Винда, что ж ты сделала, подлая... :)

0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
24.02.2012, 20:50 6
На мой взгляд, организовать свою собственную панельку с подсказкой и заставить ее преследовать курсор ничуть не сложнее, чем шерстить все, что в билдере связано с Hint, а потом хитрыми способами понукать его отображаться и изменяться так динамично, как требуется в данном случае. Просто изначально Hint для такого не предназначался и очень даже может быть, что и не удастся найти способ, заставить его работать нужным образом.
2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
25.02.2012, 00:48  [ТС] 7
Цитата Сообщение от BRcr Посмотреть сообщение
На мой взгляд, организовать свою собственную панельку с подсказкой и заставить ее преследовать курсор ничуть не сложнее, чем шерстить все, что в билдере связано с Hint, а потом хитрыми способами понукать его отображаться и изменяться так динамично, как требуется в данном случае. Просто изначально Hint для такого не предназначался и очень даже может быть, что и не удастся найти способ, заставить его работать нужным образом.
Вы правы. Просто я купился на якобы простоту Хинт-идеи. Оказывается, очень многое значительно легче делать своими лапками. Но откуда ж знать? Какие-то штуки очень мило работают, а какие-то вот так капризничают. Пока эти грабли не потопчешь, нужная шишка не образуется.
1
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
27.02.2012, 22:41 8
Вот примерно об этом я говорил.
1
27.02.2012, 22:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2012, 22:41
Помогаю со студенческими работами здесь

OnClick запустить другое событие этого объекта onMouseMove
Как сделать чтоб по событию onClick запустилось другое событие этого объекта onMouseMove?

Hint
Доброе утро! Ребята, подскажите, в чём проблема. Всё работало нормально до определённого...

Изображение в Hint
День добрый! Стоит задача вывода в hint изображения+текст. Набросал следующий код: шапка ...

Hint в MainMenu
Как в StatusBar отобразить то, что записано в свойстве Hint пунктов MainMenu при наведении курсора...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru