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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 01:18   #1
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
Вопрос Курсор на заголовке tabsheet'a

Вечер добрый!

делаю: при наведении мыши на один из заголовков tabsheet'a появляется CloseBtn, а если мышь убрать с этого заголовка чтобы кнопка опять пропала... не получается вторая часть-прятать кнопку закрытия вкладки!
Код:
procedure TMainF.sPageControl3MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
 if (Sender is TsPageControl) then
   TsTabSheet(sPageControl3.Pages[sPageControl3.IndexOfTabAt(X,Y)]).UseCloseBtn  := true;
 
 if  not (Sender is TsPageControl) then
  TsTabSheet(sPageControl3.Pages[sPageControl3.IndexOfTabAt(X,Y)]).UseCloseBtn  := false;
 
end;
как определить что курсор ушел с вкладки?
Karych вне форума Ответить с цитированием
Старый 13.03.2012, 07:27   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

События:
TabSheet.OnMouseEnter - курсор на вкладке
TabSheet.OnMouseLeave - курсор покинул вкладку

Надеемся, что TsTabSheet тоже имеет возможность обрабатывать эти сообщения
Прик вне форума Ответить с цитированием
Старый 13.03.2012, 14:03   #3
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
По умолчанию

жаль, но этих событий нет не у tabsheet и не у pagecontrol
а кроме способов создания наследника с этими событиями другие варианты есть?
Karych вне форума Ответить с цитированием
Старый 13.03.2012, 16:18   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Есть такие события, однако.
Изображения
Тип файла: gif 003.gif (8.5 Кб, 60 просмотров)
Прик вне форума Ответить с цитированием
Старый 13.03.2012, 16:49   #5
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
По умолчанию

Ну что за игра в докажи?
вот обычный табшит

вот из альфаскинс

событий чета не наблюдаю! а так у тя наверн делф10
Karych вне форума Ответить с цитированием
Старый 13.03.2012, 23:03   #6
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
По умолчанию

разобрался/кому мож понадобиться
Код:
procedure TMainF.sTabSheetMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
ts:tStabsheet;
I,index:integer;
begin
  Index :=sPageControl3.IndexOfTabAt(X,Y); // получаем номер вкладки под курсором
if Index < 0 then Exit;

  TS := TsTabSheet(sPageControl3.Pages[Index]); // сама вкладка
  if TS.UseCloseBtn then Exit; // если свойство уже установлено то уходим (курсор движется по вкладке)
  for i := 0 to sPageControl3.PageCount do
  begin // тушим все кнопочки
    TsTabSheet(sPageControl3.Pages[Index]).UseCloseBtn  := false;
    end;
  ActivTabNameClick(nil);
  TS.UseCloseBtn  := true; // выставляем у той что под курсором
  sPageControl3.Invalidate; // перерисовываем
end;
Karych вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в заголовке? ajevgen PHP 0 10.11.2011 12:35
Координаты в заголовке формы???? sasha3050 Помощь студентам 8 21.09.2009 16:57
Команды в заголовке acidcool SQL, базы данных 3 27.08.2009 17:28
уберите курсор (в конце программы верните курсор), HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 2 05.06.2009 20:10
Позиция курсора в заголовке NieL Общие вопросы Delphi 3 17.12.2008 18:01