Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Над какой закладкой курсор в TabControl

Delphi , Компоненты и Классы , Вкладки и Страницы

Над какой закладкой курсор в TabControl

Автор: YoungHacker

Получение позиции мышиного курсора для TabControl над какой закладкой находится курсор.


function Form1.ItemAtPos(TabControlHandle : HWND; X, Y : Integer) : Integer;
var
  HitTestInfo : TTCHitTestInfo;
  HitIndex : Integer;
begin
  HitTestInfo.pt.x := X;
  HitTestInfo.pt.y := Y;
  HitTestInfo.flags := 0;
  HitIndex := SendMessage(TabControlHandle, TCM_HITTEST, 0, Longint(@HitTestInfo));
  Result := HitIndex;
end;

Here is the translation of the text into Russian:

Функция Delphi, именуемая ItemAtPos, принимает три параметра: TabControlHandle, HWND, представляющий handle компонента TabControl; X и Y, целые числа, представляющие координаты, на которых вы хотите проверить, есть ли какой-либо элемент под курсором мыши.

Функция использует Windows API-сообщение TCM_ HITTEST для выполнения теста на попадание в указанном контексте табличного контрола по заданным координатам. Результат хранится в переменной HitIndex, которая представляет индекс элемента, который был попаданием (или -1, если не было попадания).

Вот разбивка кода:

  1. Функция объявляет две переменные: HitTestInfo, экземпляр записи TTCHitTestInfo, и HitIndex, целое число.
  2. Она инициализирует свойства HitTestInfo.pt.x и HitTestInfo.pt.y заданными координатами X и Y, соответственно.
  3. Функция устанавливает свойство HitTestInfo.flags в 0, что указывает на то, что мы выполняем простой тест на попадание (в отличие от более сложного).
  4. Функция отправляет сообщение TCM_ HITTEST табличному контролу с следующими параметрами:
    • TabControlHandle: handle табличного контрола.
    • 0: целое число, представляющее тип теста на попадание для выполнения.
    • Longint(@HitTestInfo): указатель на запись HitTestInfo, которая будет получать результат теста на попадание.
  5. Функция возвращает значение HitIndex, которое представляет индекс элемента, который был попаданием (или -1, если не было попадания).

Вы можете использовать функцию так:

```delphi var TabControl: TTabControl; X, Y: Integer;

// предположим, что TabControl является валидным экземпляром класса TTabControl X := 10; // координаты для проверки элемента Y := 20; HitIndex := Form1.ItemAtPos(TabControl.Handle, X, Y);

if HitIndex >= 0 then ShowMessage('Элемент под индексом ' + IntToStr(HitIndex) + ' был попаданием'); else ShowMessage('Нет элемента под координатами (' + IntToStr(X) + ', ' + IntToStr(Y) + ')');```

Функция Form1.ItemAtPos позволяет получить позицию мышиного курсора над какой-либо закладкой в TabControl и определить индекс этой закладки.


Комментарии и вопросы


:: 2011-06-01 14:57:38 :: re:Над какой закладкой курсор в TabControl

пользователь: TopCore.

А как можно управлять свойствами неактивной закладки, когда курсор находится над другой неактивной закладкой?


:: 2011-06-27 15:59:33 :: re:Над какой закладкой курсор в TabControl

пользователь: kan.

Так же как и свойствами активной закладки.


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Вкладки и Страницы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-20 00:39:20/0.004662036895752/2