Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Многострочный текст в Hint 
:(
    Опции темы
Нитонисе
Дата 23.8.2012, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Мне нужно выводить многострочный текст в Hint. Перевод строки (\n) в стандартном Hint не работает. Значит надо делать специальную форму для моих всплывающих подсказок? Это было бы удобно, с точки зрения размещения на ней элементов (Label), где бы я хотел отображать свои подсказки. Но возникают два вопроса:
1. Как сделать, чтобы при Hint->Show() форма с подсказкой не имела фокуса и не могла его получить? То есть надо чтобы всегда в фокусе было основное окно.
2. Как сделать визуальный эффект затенения под формой, как это есть в оригинальном Hint?
PM MAIL   Вверх
artsb
Дата 23.8.2012, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Код

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    Button1->Hint = L"line1\nline2";
}

В дизайнере не получится из-за кривизны среды. В BCB6 можно было делать переносы по Ctrl+Enter, или если поставить обновление, то возле поля ввода появлялась кнопочка "...", при нажатии на которую, можно было писать многострочный текст. Но потом такого уже не было...


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 23.8.2012, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



А как сделать следующее - мне нужно чтобы подсказка бежала за курсором, пока я веду курсор по TImage, но не всегда, при определенных условиях она не должна отображаться. То есть было бы неплохо иметь некую функцию TImage->ShowHint(), но таковой нет, насколько я знаю. В результате на Image эта подсказка появляется с задержкой и не двигается за курсором, что неприемлемо. 
PM MAIL   Вверх
Нитонисе
Дата 23.8.2012, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Пытаюсь испольтзовать Application->ActivateHint(TPoint&), но что-то не выходит.
Код

void __fastcall TFMain::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
    Image1->ShowHint = true;
    TPoint pt = Image1->ClientToScreen(TPoint(X,Y));
    Application->ActivateHint(pt);
}
//---------------------------------------------------------------------------
void __fastcall TFMain::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
    Image1->ShowHint = false;
}
//---------------------------------------------------------------------------
void __fastcall TFMain::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
    if(Shift.Contains(ssLeft))
    {
        TPoint pt = Image1->ClientToScreen(TPoint(X,Y));
        Application->ActivateHint(pt);
    }
}

При нажатии мыши ничего не происходит. При ее движении подсказка появляется мгновенно и носится за курсором. При отпускании мыши подсказка исчезает. Все хорошо, за исключением того, что подсказка сразу не появляется при нажатии мыши. Непонятно почему, ведь директива есть. Собственна точно такая же директива в OnMouseMove и она работает. Почему же она не работает в OnMouseDown?
PM MAIL   Вверх
Dem_max
Дата 27.8.2012, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Побаловаться значениями
Код

    Application->HintPause = 0;
    Application->HintShortPause = 0;
    Application->HintHidePause = 0;



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.