Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2010, 16:23   #1
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
Восклицание Всплывающая подсказка "Скрывает" Edit

Здравствуйте! Вот такой код:
Код:
procedure TForm1.Edit2Change(Sender: TObject);
var
  H: THintWindow;
  Rec: TRect;
  begin
IF h<>nil //Если подсказка показана, скрыть ее
  then H.ReleaseHandle;
  H:=THintWindow.Create(Form1); //создаем подсказку для формы1
  Rec  := H.CalcHintRect(100,'Hello',nil); //Генерация структуры
  H.ActivateHint(Rec,'Hello'); //Показываем подсказку
end;
Этот код выводит на экран всплывающую подсказку при изменении edit2. Так вот, все работает, но при показе подсказки, исчезает само поле edit. В чем может быть проблема?
T-dayne вне форума Ответить с цитированием
Старый 31.03.2010, 21:47   #2
noxin
Пользователь
 
Регистрация: 24.03.2010
Сообщений: 38
По умолчанию

Код:
IF h=nil //Если подсказка показана, скрыть ее
  then H.ReleaseHandle;
Если так, то Edit не исчезает
Если чем помог, оставьте отзыв...
noxin вне форума Ответить с цитированием
Старый 31.03.2010, 23:07   #3
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

noxin
В таком случае, не проверяется на имеющуюся подсказку, и она не закрывается. Т.е. при каждом изменении едита, будет создаваться новая подсказка.
T-dayne вне форума Ответить с цитированием
Старый 31.03.2010, 23:47   #4
noxin
Пользователь
 
Регистрация: 24.03.2010
Сообщений: 38
По умолчанию

Так она и так каждый раз создаётся, посмотри на код.
Засунь тогда всё в if.
Если чем помог, оставьте отзыв...
noxin вне форума Ответить с цитированием
Старый 01.04.2010, 08:19   #5
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

Цитата:
Так она и так каждый раз создаётся, посмотри на код.
Создается, но перед этим закрывается предыдущая.
T-dayne вне форума Ответить с цитированием
Старый 01.04.2010, 11:26   #6
noxin
Пользователь
 
Регистрация: 24.03.2010
Сообщений: 38
По умолчанию

как я понимаю if здесь вообще бесмыслинен, т.к. h локальное, то при каждом входе оно будет одинаковым
Это на мой вгляд
Если чем помог, оставьте отзыв...
noxin вне форума Ответить с цитированием
Старый 01.04.2010, 15:39   #7
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

проверено, без IF работает, но, если много текста написать в едит, то заметно увеличивается контрастность подсказки(одна на другую лезут). Проверка, точно нужна, но более изящным способом.
T-dayne вне форума Ответить с цитированием
Старый 01.04.2010, 21:52   #8
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

реализовал автозакрытие с помощью таймера, всем спасибо.
T-dayne вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск Handle'a объекта типа "Edit" в окне стороннего приложения TRIZER Win Api 6 12.07.2012 15:59
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
MFC: как передать фокус елементу управления "edit" ? umnick Visual C++ 2 02.11.2008 18:45