H
Hallo,
habe ein Shape um den gewünschten Fensterbereich zu markieren, den ich erst mal in ein kleines TImage einfügen möchte.
Soweit funktioniert das ganze, doch leider ist der gewünschte Bereich im TImage nach unten versezt, es sieht so aus als ob die Programmüberschrift das ganze nach unten schiebt.
Hab schon versucht den TOP Wert des Shapes zu verändern, doch leider ohne erfolg da im MouseDown Event des Shapes der Screenshot ausgeführt wird...
Bin für jeden Tip dankbar...
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Shape1->Visible = true;
Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TPoint pt;
GetCursorPos(&pt);
::ScreenToClient(Form1->Handle, &pt);
Shape1->Left = pt.x ;
Shape1->Top = pt.y ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Shape1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y)
{
Timer1->Enabled = false;
Shape1->Visible = false;
TCanvas* Canvas = new TCanvas();
Canvas->Handle = GetWindowDC(Form1->Handle);
Image1->Picture->Bitmap->Width = 33;
Image1->Picture->Bitmap->Height= 33;
TRect Ziel = Image1->ClientRect;
TRect Quelle = Rect(Shape1->Left,Shape1->Top ,Shape1->Left + 33,Shape1->Top +33);
Image1->Picture->Bitmap->Canvas->CopyRect(Ziel, Canvas, Quelle);
delete Canvas;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->WindowState = wsMaximized;
}
//---------------------------------------------------------------------------
Grüsse und Danke
Hoffe es ist ok wenn ich dafür kein neues Thema eröffnet habe...
Nach paar Std. ist das wohl die lösung...
Canvas->Handle = GetDC(Form1->Handle);
Wünsche was