الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الحل البسيط في طباعة الفورم على السريع

مغلق
بدأه Soga في 1 مايو 2005 · 1 رد · 622 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

لقد قمت بالبحث كثيرا لطريقة طباعة الفورم ووجدت الكثير من الطرق

لكن افضل او بالاصح اسرع هذه الطرق هو ماتم مناقشته في منتدى ميكروسوفت وكانت الطريقة هي انه يتم اخذ صورة عن الفورم بطريقة Capture ومن ثم طباعتها على اساس انها صورة

استخدم هذا الكود

Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _
   hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As _
   Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal _
   hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, _
   ByVal dwRop As System.Int32) As Long
Dim memoryImage As Bitmap
Private Sub CaptureScreen()
   Dim mygraphics As Graphics = Me.CreateGraphics()
   Dim s As Size = Me.Size
   memoryImage = New Bitmap(s.Width, s.Height, mygraphics)
   Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
   Dim dc1 As IntPtr = mygraphics.GetHdc
   Dim dc2 As IntPtr = memoryGraphics.GetHdc
   BitBlt(dc2, 0, 0, Me.ClientRectangle.Width, _
      Me.ClientRectangle.Height, dc1, 0, 0, 13369376)
   mygraphics.ReleaseHdc(dc1)
   memoryGraphics.ReleaseHdc(dc2)
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, _
   ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles _
   PrintDocument1.PrintPage
   e.Graphics.DrawImage(memoryImage, 0, 0)
End Sub
Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As _
   System.EventArgs) Handles PrintButton.Click
   CaptureScreen()
   PrintDocument1.Print()
 End Sub

المتطلبات الرئيسية :-

1- كائن PrintDocument ويكون اسمه PrintDocument1

2- يكون زر الطباعة اسمه PrintButton

وبهذه الطريقه تقوم بطباعة الفورم بطريقه سهله وسريعه لكن من عيوبها انك لاتستطيع اختيار اشياء من الطباعة اي انه سوفق يقوم بتصوير الفورم ويقوم بطباعته

وشكرا

#2

سلام عليكم

جزاك الله خير اخي Soga ، فكره رائعه ، جاري التجربة B)

" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

003.gif

قواعد طرح الأسئله والمشاركات

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

MSN Messenger : nontop@gmail.com

Happy coding

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

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…