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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 13:33   #1
Квио
 
Регистрация: 23.09.2009
Сообщений: 6
По умолчанию Строка состояния, подсказки

Имеется программа для вывода данных из файла в StringGrid, Memo, ComboBox, ListBox. Нужно сделать, чтобы при наведении соответствующей элемент в строку состояния писалось её название.
Квио вне форума Ответить с цитированием
Старый 29.09.2009, 13:43   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,848
По умолчанию

Кидаем на форму компонент TStatusBar.
У него есть свойство SimpleText. Туда можно присваивать текст. Вот только странный косяк, система забывает его перерисовывать.
Arigato вне форума Ответить с цитированием
Старый 29.09.2009, 13:58   #3
Квио
 
Регистрация: 23.09.2009
Сообщений: 6
По умолчанию

Это понятно, но вот у не которых компонентов нет свойства OnMouseEnter. Походу оно только у меток, а так делаю:
Код:
procedure TForm1.Label2MouseEnter(Sender: TObject);
begin
StatusBar1.SimpleText:='текст';
end;
Перерисовку с помощью:
Код:
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
StatusBar1.SimpleText:='';
end;
В метки прописываю: OnMouseEnter = Label6MouseEnter

Есть варианты?
Квио вне форума Ответить с цитированием
Старый 29.09.2009, 13:59   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,848
По умолчанию

А какие ещё варианты нужны?
Arigato вне форума Ответить с цитированием
Старый 29.09.2009, 14:05   #5
Квио
 
Регистрация: 23.09.2009
Сообщений: 6
По умолчанию

Компилятор орёт, когда я прописываю эвент OnMouseEnter в окна Memo, Listbox и тд. т.к они не поддерживают этого свойства. Или же есть альтернатива этому?
Код:
      object StringGrid1: TMenuItem
        AutoHotkeys = maAutomatic
        Caption = 'В &StringGrid'
        Hint = 'Данные из файла будут выведены в таблицу StringGrid'
        ShortCut = 16452
        OnClick = StringGrid3Click
        OnMouseEnter = Label6MouseEnter
не катит.
Квио вне форума Ответить с цитированием
Старый 29.09.2009, 14:08   #6
VIR1435
Пользователь
 
Регистрация: 28.09.2009
Сообщений: 19
По умолчанию

есть такой вариант

у компонента например label в свойстве MouseMove
Код:
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
StatusBar1.SimpleText:='текст';
end;
в свойстве MouseMove у самой формы
Код:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
StatusBar1.SimpleText:='';
end;
VIR1435 вне форума Ответить с цитированием
Старый 29.09.2009, 19:04   #7
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

думается мне, что надо использовать не у каждого компонента OnMouseEnter, а в целом у Form1 - OnMouseMove, в котором уже сделать определение названия компонента и вывода соответствующей подсказки в статус.
Кода меньше, очищать не надо постоянно, все в одном месте будет, редактирвоать удобней.
Как посмотреть, какой компонент под курсором сейчас - не знаю даже Предлагаю только метод, как бы я сделал.
mosq вне форума Ответить с цитированием
Старый 29.09.2009, 19:34   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,848
По умолчанию

Может есть какой встроенный механизм, не знаю. Но можно перебирать все компоненты и анализировать, учитывая X, Y - координаты мыши на форме, Left, Top - позиция компонента на форме (левый верхний угол), Width, Height - ширина и высота компонента.
Arigato вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка состояния и панель SoAndSo Microsoft Office Word 6 14.11.2008 15:59
Строка состаяния или загрузачная строка Sergeu Мультимедиа в Delphi 8 27.08.2008 10:32
Вывод на экран состояния клавиш Seafulf Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 06.12.2007 19:33
перехват изменения состояния Windows Shuraken Win Api 9 13.09.2007 08:03
Проверка состояния CheckboxState??? John_chek Компоненты Delphi 1 26.01.2007 11:18