I think the problem is that it was setting the area to capture before the form was maximised. Moved the code to the click method and it works fine.
Next step is to let the user open a bitmap, display it on the screen, let them draw on it and then save it. Going to look at Craig Boyd's articles in Foxtalk for this and see how I can combine it with what we've got already.
Thanks for all your help and hope you have a great Christmas and New Year.
>Starange,
>It captures whole form at home. I must put some border to see, but that could be done this eveng :o(.
>
>>Thanks Borislav!
>>
>>it only appears to be capturing part of the form, but I should be able to work out why.
>>
>>Thanks a bunch!
>>
>>
>>>Frank,
>>>Download
CaptureButton class Download #
10013>>>Make the following Changes in FdProc.PRG (in HOME(2)+[Solution\Forms\Graphics\])
>>>
>>>
>>>ADD OBJECT cmdCapture AS CaptureButton WITH ;
>>> HEIGHT = CMDHT_LOC, ;
>>> WIDTH = CMDWIDTH2_LOC, ;
>>> Caption = "Capture", ;
>>> ToolTipText = CMDDONETIP_LOC, ;
>>> FontName = CMDFONTNAME, ;
>>> FontSize = CMDFONTSIZE
>>>
>>>
>>>PROCEDURE cmdCapture.Init
>>> WITH this
>>> .oForm = THISFORMSET.frmFD
>>> .nCaptureHeight = THISFORMSET.frmFD.Height
>>> .nCaptureWidth = THISFORMSET.frmFD.Width
>>> .nCaptureTop = THISFORMSET.frmFD.Top
>>> .nCaptureLeft = THISFORMSET.frmFD.Left
>>> .cFileName = [c:\Test.BMP]
>>> ENDWITH
>>> DODEFAULT()
>>>ENDPROC
>>>
>>>
>>>In Init Eevent of the FdMain.SCX (in the same folder), put:
>>>
>>>SET CLASSLIB TO [Full_path_to_capture.vcx] ADDITIVE
>>>
>>>
>>>In the Capture Class Add a Property named oForm and Search and Replace ALL instances of thisform with this.oForm in whole class code.
>>>
>>>Then jusr run sample and press Capture button. Look for Test.BMP in C:\