DM_GETDLGRECT

Programming Far Manager plugins

DM_GETDLGRECT

Сообщение DM_GETDLGRECT позволяет получить экранные координаты диалогового окна.

Param1

0

Param2

Указатель на структуру SMALL_RECT в которой менеджер диалогов вернёт экранные координаты диалога.

Return

TRUE - данные скопированы или FALSE, если в качестве Param2 передано значение NULL.

Пример

case DN_INPUT:
{
  const INPUT_RECORD* record=(const INPUT_RECORD *)Param2;
  if (record->EventType==MOUSE_EVENT)
    // отработаем щелчок мыши в LISTе диалога
    if (Param1==ID && record->Event.MouseEvent.dwButtonState==FROM_LEFT_1ST_BUTTON_PRESSED && record->Event.MouseEvent.dwEventFlags!=DOUBLE_CLICK)
    {
      SMALL_RECT dlgRect;
      Info.SendDlgMessage(hDlg, DM_GETDLGRECT, ID, &dlgRect;);
      // щелкнули в LISTе
      if (record->Event.MouseEvent.dwMousePosition.X > dlgRect.Left && record->Event.MouseEvent.dwMousePosition.X < dlgRect.Right
          && record->Event.MouseEvent.dwMousePosition.Y > dlgRect.Top && record->Event.MouseEvent.dwMousePosition.Y < dlgRect.Bottom)
      {
       // что-то делаем
      }
    }
}
Смотрите также: