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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2015, 14:28   #1
Gray-Gray
 
Регистрация: 20.09.2011
Сообщений: 3
По умолчанию Подсказки Hint в StringGrid

Всем привет. Использую подсказки Hint при перемещении курсора по StringGrid. Если зафиксировать 1 строку и 1 столбец в StringGrid, то при перемещении курсора дублируются фиксированные 1-я строка и 1-я колонка. Кол-во видимых строк и колонок на экране на 1 больше чем в свойствах StringGrid ColCount и RowCount. Если убрать фиксацию строк и колонок, то подсказки работают нормально. Как бороться с этой проблемой?
Код:
procedure TForm8.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
C, R, Col, Row: LongInt;
begin
  try
  StringGrid1.MouseToCell(X, Y, C, R);
  with StringGrid1 do
    if ((Row <> R) or (Col <> C)) then
    begin
      Row := R; Col := C;
      Application.CancelHint;
      case C of
        0 : Hint := 'Подсказка';
        1 : Hint := 'Подсказка';
        2 : Hint := 'Подсказка';
        3 : Hint := 'Подсказка';
        4 : Hint := 'Подсказка';
        5 : Hint := 'Подсказка';
        6 : Hint := 'Подсказка';
        7 : Hint := 'Подсказка';
        8 : Hint := 'Подсказка';
        9 : Hint := 'Подсказка';
      end;
    end;
  except
  end;
end;
Gray-Gray вне форума Ответить с цитированием
Старый 20.10.2015, 06:32   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Ничего не могу сказать, некогда возиться делать пробы - коли хотите, чтобы кто-то попробовал разобраться, приложите тестовый проект архивом.
Я пока же вижу только одну ошибку - Col Row объявлены локально, а используются так, словно должны быть объявлены глобально - т.е. сперва преверяется сравнение с ними (как бы старыми значениями) , потом обновляются значения для следующего сравнения, но так локальные переменные работать не будут, т.к. в них будет некий "мусор" при входе в подпрограмму, а не то, что можно было бы от них ожидать, будь они глобальные.

UPD. Тьфу, with же.. короче, значит ещё более запутанная логика может быть, т.к. неизвестно, что хотел сделать автор этим кодом.

Последний раз редактировалось phomm; 20.10.2015 в 06:35.
phomm вне форума Ответить с цитированием
Старый 20.10.2015, 08:51   #3
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
По умолчанию

А такой код нормально работает? http://www.delphisources.ru/pages/faq/base/own_hint_for_every_stringgrid_cell. html
SQLPowerUser вне форума Ответить с цитированием
Старый 21.10.2015, 21:46   #4
Gray-Gray
 
Регистрация: 20.09.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
... некогда возиться делать пробы - коли хотите, чтобы кто-то попробовал разобраться, приложите тестовый проект архивом. ...
И не надо, я сам должен разобраться, у Вас прошу только подсказки. Спасибо.
Gray-Gray вне форума Ответить с цитированием
Старый 21.10.2015, 22:04   #5
Gray-Gray
 
Регистрация: 20.09.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от SQLPowerUser Посмотреть сообщение
А такой код нормально работает?
Скорее всего, да. Сегодня днем вновь возвращался к поиску решения этой проблемы и нашел вот здесь: http://www.stringgrid-delphi.ru/hint.php
Уж очень код похож на предложенный Вами. Моя ошибка в том, что переменные C и R (код в топике) объявил локально а не глобально. Сейчас все работает нормально. Всем спасибо.
Gray-Gray вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
показать одновременно подсказки (hint) у нескольких объектов shadowmaker Общие вопросы Delphi 0 18.02.2012 13:42
Как увеличить время действия подсказки(hint)? Devolarium Общие вопросы Delphi 1 07.12.2011 01:23
Hint на каждой ячейке StringGrid-a Sanprof Общие вопросы Delphi 6 04.11.2010 19:55
Подсказки Demien Общие вопросы Delphi 5 15.11.2007 16:51