Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемма с ShellList1.GetItemAt, происходит ошибка .... 
:(
    Опции темы
Monty
Дата 2.8.2003, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

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



Код
procedure TForm1.ShellList1MouseMove(Sender: TObject;
 Shift: TShiftState; X, Y: Integer);
begin
ShellList1.Hint := ShellList1.GetItemAt(X, Y).Caption;
end;

Вываливается сообщение об ошибке, когда мышка покидает границу итема sad.gif .... как это избежать?


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
p0s0l
Дата 2.8.2003, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Может GetItem возвращает nil ? Тогда сделай так:
Код
procedure TForm1.ShellList1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
 if ShellList1.GetItemAt(x,y) <> nil then ShellList1.Hint := ShellList1.GetItemAt(X, Y).Caption
   else ShellList.Hint := '';
end;




--------------------
С уважением, г-н Посол.
PM   Вверх
p0s0l
Дата 2.8.2003, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



А вообще в твоём случае надо делать еще Application.CancelHint:

Код
procedure TForm1.ShellList1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var
 item : TListItem;
 NewHint : string;
begin
 item := ShellList1.GetItemAt(x, y);
 if item <> nil then NewHint := item.Caption
   else NewHint := '';
 if ShellList1.Hint <> NewHint then
 begin
   Application.CancelHint;
   ShellList1.Hint := NewHint;
 end;
end;
А у тебя item.Caption работает ? у меня почему-то для всех итемов caption = ''...
странное дело...



--------------------
С уважением, г-н Посол.
PM   Вверх
<Spawn>
Дата 2.8.2003, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Думаю что CanselHint тут не нужен, поскольку Hint автоматически закрывается при перемещении указателя мыши.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
p0s0l
Дата 2.8.2003, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата
Думаю что CanselHint тут не нужен, поскольку Hint автоматически закрывается при перемещении указателя мыши.

Hint закроется автоматически, если мышь уедет за пределы контрола, а так - хоть заперемещайся, ничего не исчезнет...



--------------------
С уважением, г-н Посол.
PM   Вверх
<Spawn>
Дата 2.8.2003, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



У меня исчезает)))


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
<Spawn>
Дата 2.8.2003, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Хм странно как то. Хинты уже существуют у итемов. И при добавлении своих хинтов отображаются оба!!!! Если же убрать ShowHint в False, то отображаются только родимые хинты и то не для всех итемов. Чушь какая то.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Monty
Дата 2.8.2003, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

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



Спасибо smile.gif ... а у меня без Application.CancelHint не корректно работает, так как сказал p0s0l wink.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
<Spawn>
Дата 2.8.2003, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Да все правильно - Application.CnaselHint нужен. Просто я не пойму откуда там взялись свои хинты и как их отключить.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Monty
Дата 2.8.2003, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

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



И в правду ... у меня такая же проблема hmmm.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Monty
Дата 2.8.2003, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

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



STOP!
Это я ошибся ... второй HINT появляется ТОЛЬКО тогда когда ... как бы сказать .... название слишком длинно и не вмещается в CAPTION wink.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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