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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2015, 16:33   #1
yohohox
 
Регистрация: 21.05.2015
Сообщений: 9
По умолчанию Рамка выделяемого окна

Добрый день Уважаемые.

Подмогите пожалуйста разобраться.

Задача: При наведении на какое-либо окно, оно выделяется полупрозрачным цветом.

Делаю следующим образом:

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Enabled := True;
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Timer1.Enabled := False;
end;
 
procedure FrameWindow(Wnd: HWnd);
var
  nRect: TRect;
begin
 
  // получаю размер и положение окна
  GetWindowRect(Wnd, nRect);
 
  // устанавливаю размеры для формы
  Form1.Left := nRect.Left;
  Form1.Top := nRect.Top;
  Form1.Width := nRect.Right - nRect.Left;
  Form1.Height := nRect.Bottom - nRect.Top;
 
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  hNewWnd: HWnd;
begin
 
  // получаем дескриптор окна под курсором
  hNewWnd := WindowFromPoint(Mouse.CursorPos);
 
  // показываю рамку вокруг окна
  FrameWindow(hNewWnd);
 
end;
Все почти работает как надо, но.. после выделения полного окна дальнейшие выделения внутри этого окна становится невозможным ибо все перекрыто. Как с этим бороться?

Прикладываю гифку для наглядности.


Последний раз редактировалось Stilet; 08.06.2015 в 16:38.
yohohox вне форума Ответить с цитированием
Старый 13.06.2015, 00:33   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Как вариант, для окна учитывать тот факт что курсор все ещё находится в заголовке окна, если нет, то снимать оверлей и ставить на компонент окна.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание в ячейке всплывающего списка на основании выделяемого диапазона AndryGrey Microsoft Office Excel 2 07.12.2013 02:11
рамка окна Ekzamenator Помощь студентам 4 30.05.2012 19:47
Рамка вокруг клиентской области окна pladen HTML и CSS 2 26.08.2011 15:22
Экспорт выделяемого диапазона в графический файл Эрнесто Microsoft Office Excel 8 02.07.2011 00:06
Рисование выделяемого текста tigrantairov Win Api 0 01.03.2010 22:54