title image


Smiley Ich werd gleich zum Schwein.. :-( / Warum geht das hier nicht..


procedure TForm1.FormCreate(Sender: TObject);

begin

Self.DoubleBuffered := True;

end;



procedure TForm1.Button1Click(Sender: TObject);

var

Bitmap, Dummy_Bitmap: TBitmap;

x, y: integer;

hold_Xpos, hold_Ypos: Integer;

begin

Bitmap := TBitmap.Create;

bitmap.Width := HorzScrollBar.Range;

bitmap.Height := VertScrollBar.Range;

Dummy_Bitmap := TBitmap.Create;

Dummy_Bitmap.Width := ClientRect.Right;

Dummy_Bitmap.Height := ClientRect.Bottom;



if GetWindowLong(Form1.Handle, GWL_STYLE) and WS_VSCROLL 0 then

begin

ShowMessage('Vertikale Leiste gefunden');

end;

if GetWindowLong(Form1.Handle, GWL_STYLE) and WS_HSCROLL 0 then

begin

hold_Xpos := Form1.HorzScrollBar.Position;

Form1.HorzScrollBar.Position := 0;

for x := 0 to bitmap.Width div ClientRect.Right do

begin

Dummy_Bitmap.canvas.copyrect(Dummy_Bitmap.canvas.ClipRect, Form1.canvas, ClientRect);

Dummy_Bitmap.SaveToFile(ExtractFilePath(Application.ExeName) + 'test' + inttostr(x) + '.bmp');



Bitmap.Canvas.Draw(x * ClientRect.Right, 0, Dummy_Bitmap);

BitBlt(BitMap.Canvas.Handle, x * ClientRect.Right, 0, (x + 1) * ClientRect.Right, ClientRect.Bottom, Dummy_Bitmap.Handle, 0, 0, SRCCOPY);



Form1.HorzScrollBar.Position := Form1.HorzScrollBar.Position + Dummy_Bitmap.Width;

Form1.Update;

end;

Form1.HorzScrollBar.Position := hold_Xpos;

end;



Bitmap.SaveToFile(ExtractFilePath(Application.ExeName) + 'test.bmp');

FreeAndNil(Dummy_Bitmap);

FreeAndNil(BitMap);

end;





------------



Es geht um folgende Zeilen:



Bitmap.Canvas.Draw(x * ClientRect.Right, 0, Dummy_Bitmap);

BitBlt(BitMap.Canvas.Handle, x * ClientRect.Right, 0, (x + 1) * ClientRect.Right, ClientRect.Bottom, Dummy_Bitmap.Handle, 0, 0, SRCCOPY);



Bitmap.canvas.draw funktioniert, BitBlt jedoch nicht. Selbst, wenn ich nicht über den Canvas, sondern über das Handle vom Bitmap direkt gehe, bleibt das Bild weiss.



Entweder habe ich etwas übersehen oder aber die Zeit ist zu kurz..?



Dummy_Bitmap hab ich nur aus Testgründen drin, dort ist das Bild auch tatsächlich enthalten, welches ich benötige.



Hat hier jemand eine Idee?

Gruß
~Mathias
..   ————————————————————————————————————————
..
..   Private Seite: http://www.nogad.de
..
..   ————————————————————————————————————————
..
..   Pension Fiege - Inhaber Monika Fiege
..   Kranichfelder Straße 68
..   99097 Erfurt
..
..   Tel: +49 361 41 38 39
..   Fax: +49 361 42 150 87
..
..   www.Pension-Fiege.de
..
..   ————————————————————————————————————————


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: