تقييم الموضوع :
  • 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 ك ب / التحميلات : 296)
الرد }}}
تم الشكر بواسطة:
#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 تتم طباعتها على كامل الصفحة.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , Ahmed_Mansoor , رضوان الجماعي
#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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في تغيير حجم الفورم حسب دقة عرض الشاشة amazonette 3 588 30-03-23, 02:47 PM
آخر رد: amazonette
  كيف يتم طباعة تقرير اكتف ريبورت مباشرة gonm64 1 1,400 03-02-22, 06:22 AM
آخر رد: Taha Okla
Rainbow [سؤال] مساعدة لعمل برنامج حضور وانصراف+وقاعدة بيانات+ربط بالوورد لسهولة طباعة بعض الفورمز فاطمة غ 10 11,622 31-10-20, 01:00 AM
آخر رد: ryadd
  طباعة Frame فقط omarelking 9 4,978 05-10-20, 03:39 PM
آخر رد: alim54
  تغيير اللغة في الفورم حامد محمد 7 4,059 22-01-19, 06:19 PM
آخر رد: elgokr
  [vb6.0] كيف طباعة فاتورة مبيعات من طابعة EPSON LQ-350 awidan76 1 2,567 20-11-18, 12:19 PM
آخر رد: awidan76
  [vb6.0] مساعدة في الفورم الثاني بالمشروع سمير الجبالي 3 2,431 17-07-18, 12:04 AM
آخر رد: سمير الجبالي
  [vb6.0] كود طباعة عمور2016 5 3,146 13-03-18, 12:57 AM
آخر رد: Ahmed_Mansoor
  [كود] كود طباعة جدولين في تقرير واحد عمور2016 4 2,736 07-03-18, 02:24 AM
آخر رد: عمور2016
  اذا نسخت نص من ملف نصي والصقته في اداة List تظهر علماتا استفهام مهما غير من ترميز الم سعود 3 2,276 18-11-17, 11:14 AM
آخر رد: sendbad100

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


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