أختى هذه الطريقه صعبه شويه لكن هى التى ستفيد بالغرض إن شاء الله
بإستخدام عنصر الطباعه Printer Object
هذا الكود لتحديد الإحداثيات لهامش الركن العلوى الأيسر للصفحه المطبوعه
Printer.scaleLeft
Printer.ScaleTop
هذه الخاصيتان لتحديد الركن العلوى الأيسر لوضع مخرجات الطباعه من النص والرسم
Printer.CurrentX
Printer.CurrentY
وإليكى مثال لتسهيل الأمر مثال إذا أردنا طباعة الفورم كله بما يحتويه فسيكون الكود كالأتى :-
هذه داله بسيطه لطباعه أى كائن يتم تحديده
private Sub PrintAnything ( PrintObject as control (
سنقوم بتعريف هذه المتغيرات الخاصه بالإحداثيات ولوازم الطباعه
dim Dx as integer,Dy as integer,PX as interger,Py as integer
dim CapTXT as string
هذه المتغيرات التى ستحمل قيمة طول وعرض الشىء المراد طبعه
Dx = PrintObject.width
Dy = PrintObject.Height
هذه المتغيرات التى ستحمل قيمة إحداثيات الشىء المراد طبعه
PX = PrinterObject.Left
PY = PrinterObject.Top
هذا المتغيرالذى سيحمل الأسم المظهرى للشىء المراد طبعه
CapTXT = PrinterObject.Caption
PrinterObject.DrawWidth = 2
هنا سنرسل المعلومات لكائن الطباعه من إحداثيات وطول وعرض إلخ...
printer.CurrentX = PX
printer.CurrentY = PY
printer.Line (DX,DY), ,B
printer.CurrentY = PY + ((DY - Printer.textHeight(CapTXT)) / 2)
printer.CurrentX = PX + ((DX - Printer.textHeight(CapTXT)) / 2)
وهنا لطباعة Caption للكائن المراد طبعه
Printer.Print PrinterObject.Caption
كود طباعة الكائن كله على الورقه
Printer.EndDoc
end Sub
وبهذا نكون قد أنتهينا من تجهيز الداله
وباقى تحديد الكائن المراد طبعه :shock22:
Private Sub Command1_Click()
PrintAnyThing(form1)
End Sub
هذه الطريقه من الطباعه عيبها الوحيد كم الخطوات البرمجيه لطباعة نموذج واحد
ولكن تتميز بشيئين
1- تحكم أكثر فى شكل ورقة الطباعه
2- جودة الطباعه العاليه
أرجو أن أكون قد وفقت فى هذا الشرح ويكون هذا هو مرادك