Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

StatusBar и положение мыши

270
02 ноября 2005 года
Drew
265 / / 20.07.2000
Подскажите, кто знает, как определить, над какой из панелей StatusBar зависла мышь при появлении HINT

ну я бы хотел сделать контекстный HINT
1
04 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Drew
Подскажите, кто знает, как определить, над какой из панелей StatusBar зависла мышь при появлении HINT

ну я бы хотел сделать контекстный HINT


Так а в чем собственно проблема? Обрабатывай событие MouseMove - и выводи хинт компонента над которым проходишь приводя Sender.

270
04 ноября 2005 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by kot_
Так а в чем собственно проблема? Обрабатывай событие MouseMove - и выводи хинт компонента над которым проходишь приводя Sender.



по-рабочекрестьянски НЕ ПОЛУЧИЛОСЬ

void __fastcall TMainForm::sbMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
TStatusPanel* sp=(TStatusPanel*)(Sender);
if(sp->Index==0)
{
sb->Hint="Панель ПЕРВАЯ";
sb->ShowHint;
}
}

здесь "sb" - StatusBar

index==-1 (!!!)

488
04 ноября 2005 года
Mоngооsе
465 / / 01.04.2005
AutoHint нужно установить в true и обработать onHint событие statusbar-а.
Для statusbara из 2 панелей:
 
Код:
void __fastcall TForm1::sbHint(TObject *Sender)
{
  TPoint pt = ScreenToClient(Mouse->CursorPos);
  if(pt.x < sb->Panels->Items[0]->Width)
    sb->Hint = "0-й панель";
  else
    sb->Hint = "Что-то другое";
}
Вобщем, нужно знать правые края панелей и сними сравнивать x координату курсора.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог