تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طباعة الفورم بأكملها على الورقة مهما كانت أبعادها
#1
لدى فورم جهزتها بجميع أدواتها

وأريد الكود اللازم لطباعتها على الورق

[FONT=&amp]أريد طباعتها بأكملها على الورقة الموجودة فى ال[/FONT][FONT=&amp][FONT=&amp]printer[/FONT] [/FONT] [FONT=&amp] مهما كانت أبعاد الفورم [/FONT][FONT=&amp]و[/FONT][FONT=&amp]مهما كانت أبعاد الورقة[/FONT]
ولكم ألف شكر


الملفات المرفقة
.zip   طباعة الفورم.zip (الحجم : 67.1 ك ب / التحميلات : 86)
الرد }}}}
تم الشكر بواسطة:
#2
ان كان المطلوب صعبآ
فأرجو ممن حملوا المرفق أى كود لطباعتها على الورقة

ومش ضرورى الشرط (مهما كانت أبعاد الفورم ومهما كانت أبعاد الورقة)
الرد }}}}
تم الشكر بواسطة:
#3
السلام عليكم...

1. أضف إلى الـ Form مكون PictureBox و اضبط اسمه (الخاصية Name) على pbxImageHolder. لا يهم حجمه و لا مكانه لأنه لن يظهر أثناء التشغيل و لا أثناء الطباعة، و إنما سنستعمله كمخزن مؤقت للصورة.

2. ضع التصريحات التالية في قسم التصريحات العام:
كود :
Private Const SRCCOPY = &HCC0020

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

3. في الحدث Form_Load اكتب الكود التالي:
كود :
With pbxImageHolder
        .ScaleMode = vbPixels
        .BorderStyle = 0
        .Width = Me.ScaleX(Me.Width, vbTwips, Me.ScaleMode)
        .Height = Me.ScaleY(Me.Height, vbTwips, Me.ScaleMode)
        .AutoRedraw = True
        .Visible = False
    End With

4. في زر الطباعة (أو أمر القائمة الخاص بالطباعة) اكتب الكود التالي:
كود :
Dim OldMode As ScaleModeConstants
    Dim WidthPixels As Long
    Dim HeightPixels As Long
    Dim NCx As Long
    Dim NCy As Long
    
    WidthPixels = Me.Width / Screen.TwipsPerPixelX
    HeightPixels = Me.Height / Screen.TwipsPerPixelY
    NCx = (WidthPixels - Me.ScaleX(Me.ScaleWidth, Me.ScaleMode, vbPixels)) \ 2
    NCy = HeightPixels - Me.ScaleY(Me.ScaleHeight, Me.ScaleMode, vbPixels) - NCx
    
    pbxImageHolder.Cls
    BitBlt pbxImageHolder.hdc, 0, 0, WidthPixels, HeightPixels, Me.hdc, -NCx, -NCy, SRCCOPY
    
    OldMode = Printer.ScaleMode
    Printer.ScaleMode = vbPixels
    Printer.Print "";
    Printer.PaintPicture pbxImageHolder.Image, 0, 0, Printer.ScaleWidth, Printer.ScaleHeight, 0, 0, WidthPixels, HeightPixels
    Printer.EndDoc
    Printer.ScaleMode = OldMode

5. نرجو الاستفادة و السلام.

*** ملاحظات:
أ. الكود السابق يطبع كامل الـ Form بما في ذلك إطارها و شريط عنوانها. إذا كنت تريد طباعة محتوياتها فقط - دون إطار - فإن الكود يحتاج إلى بعض التعديل. أخبرنا لنعدل الكود.
ب. صورة الـ Form تتم طباعتها على كامل الصفحة.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#4
إقتباس :*** ملاحظات:
أ. الكود السابق يطبع كامل الـ Form بما في ذلك إطارها و شريط عنوانها. إذا كنت تريد طباعة محتوياتها فقط - دون إطار - فإن الكود يحتاج إلى بعض التعديل. أخبرنا لنعدل الكود.

نعم أستاذنا الكبير
أريد طباعة محتوياتها فقط - دون إطار ودون
بعض الأزرار
كود :
[align=left][SIZE=3]
Private Sub Command1_Click()
  cmdAdd.Visible = False: cmdAdd.Enabled = False
  cmdDelete.Visible = False: cmdDelete.Enabled = False
  CMDUpdate.Visible = False: CMDUpdate.Visible = False
  cmdCancle.Visible = False: cmdCancle.Visible = False
  Adodc1.Visible = False: Adodc1.Enabled = False

Command1.Visible = False


-Rem"هنا يجب وضع الكود اللازم لطباعة الفورم"


Command1.Visible = True
End Sub[/SIZE]
[/align]

أرجو منك تعديل الكود[SIZE=3]
وليتك ترسل الفورم كاملة فى أى ملف مرفق[/SIZE]

ولك ألف ألف شكر
الرد }}}}
تم الشكر بواسطة:
#5
السلام عليكم...

* احذف الكود المذكور سابقاً في الحدث Form_Load حيث نقلناه إلى هنا.

كود :
Private Sub Command1_Click()
    Dim OldMode As ScaleModeConstants
    Dim WidthPixels As Long
    Dim HeightPixels As Long
    
    ' هنا قم بإخفاء المكونات التي لا تريد إظهارها عند الطباعة
    
    With pbxImageHolder
        .ScaleMode = vbPixels
        .BorderStyle = 0
        .Width = Me.ScaleWidth
        .Height = Me.ScaleHeight
        .AutoRedraw = True
        .Visible = False
    End With
    
    Me.Refresh
    
    WidthPixels = Me.ScaleX(Me.ScaleWidth, Me.ScaleMode, vbPixels)
    HeightPixels = Me.ScaleY(Me.ScaleHeight, Me.ScaleMode, vbPixels)
    
    pbxImageHolder.Cls
    BitBlt pbxImageHolder.hDC, 0, 0, WidthPixels, HeightPixels, Me.hDC, 0, 0, SRCCOPY
    
    OldMode = Printer.ScaleMode
    Printer.ScaleMode = vbPixels
    Printer.Print "";
    Printer.PaintPicture pbxImageHolder.Image, 0, 0, Printer.ScaleWidth, Printer.ScaleHeight, 0, 0, WidthPixels, HeightPixels
    Printer.EndDoc
    Printer.ScaleMode = OldMode
End Sub

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#6
[b][SIZE=5]جزاك الله خيرآ
ولك ألف شكر[/SIZE][/b]
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Rainbow [سؤال] مساعدة لعمل برنامج حضور وانصراف+وقاعدة بيانات+ربط بالوورد لسهولة طباعة بعض الفورمز فاطمة غ 8 189 01-12-16, 06:37 PM
آخر رد: Amir_alzubidy
  [سؤال] سوال؟ عن طباعة الورقة عرض(التقرير) amer2000 21 503 15-09-16, 10:00 PM
آخر رد: Amir_alzubidy
  تغيير ارتفاع وعرض الفورم fadhely 0 185 04-05-16, 07:34 AM
آخر رد: fadhely
  طباعة الفورم على الورق fadhely 2 360 02-05-16, 08:00 AM
آخر رد: fadhely
  [سؤال] طباعة التقرير بعدد معين ABO.BANCIANA 5 296 04-03-16, 09:52 PM
آخر رد: ahmedabdelaliem
  تغيير حجم الادوات مع تغيير حجم الفورم ناصر56 3 824 06-01-16, 12:31 AM
آخر رد: awidan76
  إظهار الفورم في موقع محدد من الشاشة MEA 5 776 06-01-16, 12:22 AM
آخر رد: awidan76
  مساعدة في كتابة كود يتم من خلاله طباعة الفورم عدد معين من المرات نصر صالح 2 559 20-12-14, 10:03 PM
آخر رد: Ahmed_Mansoor
Sad [سؤال] سؤال صغير في فيجوال بيسك 6 تحريك الفورم Hell Cell 2 698 17-12-14, 10:52 PM
آخر رد: Hell Cell
  مرحبا؟اريد كود تصوير الفورم ووضع الصورة في اداة مربع النص واظهار حوار لحفظ الصورة بتنسيق bmp وشكرا طارق 2 1,087 13-08-13, 04:32 AM
آخر رد: VB_Coder

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم