Bereich eines Fensters kopieren
-
Hallo! ich möchte einen bereich meines Fensters an eine andere Stelle kopieren
mit diesem Code:HDC hdc1 = GetDC (hwnd); //hwnd ist der handle meines Fensters
if (hdc1==0) // Fehler?
{
MessageBox(hwnd,"Fenster DC konnte nicht ermittelt werden","Fehler",MB_ICONERROR);
SendMessage(hwnd,WM_DESTROY,0,0);
return 0;
}BitBlt(hdc1,330,5,320,240,hdc1,5,5,SRCCOPY);
ReleaseDC (hwnd,hdc1);
leider wird nicht der bereich meines Fensters, sondern ein bereich des gesamten Bildschirms kopiert

-
Bist Du Dir sicher, dass Du die Parameter von BitBlt richtig angegeben hast?
BitBltÜberprüf nochmal die Parameter für src und dest...
-
Nein, ich bin mir sicher, dass alles richtig ist.
Es ist ein Bereich von 320*240 Pixeln, der an Position 5;5 liegt, dieser soll daneben an Position 330;5 Kopiert werden. Selbst wenn die Werte falsch wären, dann dürfte doch niemals außerhlab des Fensters gezeichnet werden, oder? Man könnte natürlich für die X und Y Positionen die Position des Fensters hinzuaddieren, wenn die position 0;0 in der oberen Bildschirmecke, statt in der oberen Fensterecke ist. nur dann würde auf eventuell überlappende Fenster gezeichnet werden, was auch wieder nicht sein darf.
-
Überprüf mal noch dein hwnd-Handle