Einzelnen Beitrag anzeigen

Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Test: Erweitertes Drag & Dock für TBX

  Alt 3. Jul 2009, 15:53
Hey,

Ich habe das an die Zeichenroutine an TB2k angelehnt:
Delphi-Quellcode:
  Size.cx := GetSystemMetrics(SM_CXDLGFRAME);
  Size.cy := Size.cx;
  // Outline zeichnen
  DC := GetDCEx(GetDesktopWindow, 0,
    DCX_LOCKWINDOWUPDATE or DCX_CACHE or DCX_WINDOW);
   TB2Common.DrawHalftoneInvertRect(DC, @OutlineRect,
     nil, Size, Size);
  ReleaseDC(GetDesktopWindow, DC);
  // ...
  // Outline löschen
  DC := GetDCEx(GetDesktopWindow, 0,
    DCX_LOCKWINDOWUPDATE or DCX_CACHE or DCX_WINDOW);
  SetRectEmpty(R);
  TB2Common.DrawHalftoneInvertRect(DC, @R, @FLastOutlineRect, Size, Size);
  ReleaseDC(GetDesktopWindow, DC);

// TB2Common.pas
procedure DrawHalftoneInvertRect(const DC: HDC; const NewRect, OldRect: PRect;
  const NewSize, OldSize: TSize);
var
  Brush: HBRUSH;
begin
  Brush := CreateHalftoneBrush;
  try
    DrawInvertRect(DC, NewRect, OldRect, NewSize, OldSize, Brush, Brush);
  finally
    DeleteObject(Brush);
  end;
end;
Das ganze ist zudem angelehnt an die BeginMoving-Methode aus der TB2Dock.pas.

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat