скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Кнопка заголовка активного окна



Вы должны сами рисовать кнопку и обрабатывать ее перерисовку для показа вдавленного состояния. Затем, для активизации кнопки, вам необходимо реагировать на сообщение WM_NCHITTEST. Вот пример кода, рисующего безобразный зеленый контур вокруг красного прямоугольника около системного меню:


procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
var
  R: TRect;
begin
  inherited;
  Canvas.Handle := GetWindowDC(Handle);
  R := Bounds(GetSystemMetrics(SM_CXFRAME) +
    GetSystemMetrics(SM_CXSIZE) + 1,
    GetSystemMetrics(SM_CYFRAME),
    GetSystemMetrics(SM_CXSIZE),
    GetSystemMetrics(SM_CYSIZE));
  with Canvas do
  begin
    Brush.Color := clRed;
    Pen.Color := clLime;
    Rectangle(R.Left, R.Top, R.Right, R.Bottom);
  end;
  ReleaseDC(Handle, Canvas.Handle);
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook