Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Row im Row überzeichnen

  Alt 3. Apr 2011, 12:32
Hallo
Irgendwie neben der Rolle heute..
Ich möchte ein Row im Row überzeichnen zur besseren verständigung quasi die Vertikalen linien
die sichtbar sind wenn man ein Quadrat nach rechts verschiebt ohne das vorherige zu löschen.

Meine Funktion sieht so aus.

Delphi-Quellcode:
procedure TMidiTracker.SetRow(WinHandle: HWND; y: Integer);
var
  RowY: Integer;
  SwapScreen: HDC;
  rc: TRect;
  DC: HDC;

begin
  RowY := y * 16;
  DC := GetDc(WinHandle);
  GetClientRect(WinHandle, rc);

  SwapScreen := CreateCompatibleDC(DC);
  SelectObject(SwapScreen, SKAERO_GetButImageBackProperty(WinHandle));
  BitBlt(DC, 0, RowY, rc.Right, 15, SwapScreen, 0, 0, SRCCOPY);

  DeleteDC(SwapScreen);
  ReleaseDC(WinHandle, DC);
end;
Ich übergeben die Y Position der Aktuellen Maus koordinaten.
Dann erstelle ich ein DC vom Grid WindowHandle
Anschließend möchte ich beide Bilder vertauschen um das Qadrat also die vertikalen linien zu übermalen.
Wobei hier das Originale Hintergrinmd Bild komplett weiss ist.

Hoffe jemand versteht was ich meine.

Funktionieren tut es nicht obwohl es eigentlich richtig sein müßte.

gruss

Geändert von EWeiss ( 3. Apr 2011 um 20:12 Uhr)
  Mit Zitat antworten Zitat