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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2012, 23:20   #1
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию Продвинутый Хинт

в общем можно как то сделать чтоб в Хинт можно было запихнуть более сложные данные?
конкретно интересуют: 2 строки, 1 цветная полоса, один Image(Bitmap->128*128)

есть мысли как такое сделать?(хинт нужен на листвиев)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.03.2012, 23:37   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Наверно взять THintWindow, от него создать свой класс, в котором делать прорисовку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.03.2012, 20:14   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ладно, нарисовать то я нарисую, а вот как его привинтить к TListView?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2012, 20:28   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Пепел Феникса,не плейлист ли вы делаете?
Кольша вне форума Ответить с цитированием
Старый 10.03.2012, 20:29   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нет, хотя там это тоже можно применить будет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2012, 20:32   #6
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

как сделаете кинете на тест?P.s компоненты сильно не писал,но может переписать TListView не мнного например дать возможность его красить тогда вообще кульный компонент выйдет.
Кольша вне форума Ответить с цитированием
Старый 10.03.2012, 20:40   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
дать возможность его красить тогда вообще кульный компонент выйдет.
красить его я итак умею.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2012, 21:52   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как-то так, но действует на все объекты формы
Код:
TMyHintWindow = class(THintWindow)
  protected
    procedure Paint; override;
  public
    function CalcHintRect(MaxWidth: Integer; const AHint: string; AData: Pointer): TRect; override;
  end;
...
procedure TMyHintWindow.Paint;
begin
//Здесь рисуем
end;

function TMyHintWindow.CalcHintRect(MaxWidth: Integer; const AHint: string; AData: Pointer): TRect;
begin
  Result:=Rect(0,0,100,100); //Размеры хинта
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  HintWindowClass:=TMyHintWindow;
  Application.ShowHint:=False;
  Application.ShowHint:=True;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.03.2012, 22:06   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

хм...это малость не то, мне нужно только у листвиева такую штуку проделать.
и причем хинту нужно знать точку вызова чтоб понять что показывать(над каким итемом виева).

или я много хочу от стандартного виева?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2012, 22:25   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Точку вызова в Application.OnHint можно отловить. Если конкретно для ListView, то слишком глубоко копать прийдется по сообщениям винды и все ручками делать. Да и ListView не прокатит, наследника делать скорее всего нужно. Не пробовал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 10.03.2012 в 22:28.
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продвинутый грид SONce Компоненты Delphi 10 03.01.2011 17:17
многострочный хинт с делением по словам uraura Общие вопросы Delphi 8 10.09.2010 05:46
Показать хинт по клику TwiX Общие вопросы Delphi 5 07.09.2010 15:06
Неправильно всплывает хинт madmech Общие вопросы Delphi 7 04.06.2009 16:57
Графический хинт в ListView pesad Компоненты Delphi 1 21.08.2008 20:11