Results 1 to 22 of 22

Thread: [RESOLVED] make a forms width fit printout

  1. #1

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Resolved [RESOLVED] make a forms width fit printout

    The form is wider than a sheet of paper and not ver tall
    I have form that i am trying to avoid making everthing smaller so it can be printed on one sheet of paper
    way i see it their are 3 possible solutations
    1. redraw all the controls to make them closer together thus making the form more narrow.
    Trying to avoid this as many users are using high resolutation and am not sure it will still fit
    2. Print the form in Landscape.
    Have read where not all printers support Landscape and am not sure if printform can print Landscape
    3. Create another form just for printing and copy all the data
    Maybe their is another method i have not listed.
    Which way would be the best ? and is there another way ?Name:  PrintProblem.jpg
Views: 486
Size:  54.1 KB
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  2. #2
    VB-aholic & Lovin' It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    Beside Waldo
    Posts
    19,541

    Re: make a forms width fit printout

    If the printer has an option to Scale To Page, you can opt for that

    Another option is to use a hidden picturebox (sized same as your form) with AutoRedraw set to true. Print your form to the hidden picbox's hDC. Then you can scale the contents via PaintPicture back to the same picbox, then print the .Image property? Last time I used a method like that was well over 10 years ago (kinda like print preview ). So I know I didn't fill in all the "holes", but the logic should be sound.

    Also may want to search this forum for keywords: print preview
    Insomnia is just a byproduct of, "It can't be done"

    Classics Enthusiast? Here's my 1969 Mustang Mach I Fastback. Her sister '67 Coupe has been adopted

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum.
    Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts
    Here are VB6 Help Files online


    {Alpha Image Control} {Memory Leak FAQ} {Unicode Open/Save Dialog} {Resource Image Viewer/Extractor}
    {VB and DPI Tutorial} {Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  3. #3
    Fanatic Member
    Join Date
    Jan 2006
    Posts
    557

    Re: make a forms width fit printout

    The best way to do that IMO is to capture screen to a picturebox and then Paintpicture it directly to the printer device as LaVolpe suggested. When you write routines that do such manipulations such as scaling or flipping, you can declare your sub routine using OBJECT instead of PictureBox. Doing this, a scaling routine using Object, Object.Scalewidth and Object.scaleHeight can be made device and Units independent. Normally, my pictureboxes are defined in twips or pixels while I prefer Inches for the printer.

    You can also use typeof on the object inside a routine and print portrait or landcape, and skip that bit of code if the object is a picturebox.
    Last edited by Navion; Oct 11th, 2014 at 03:25 PM. Reason: a few mode details

  4. #4

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Thanks LaVolpe
    No telling about the first option
    The 2nd option seems like the best, but most is over my head and will take a lot of posts ti this forum
    I will search print preview
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  5. #5
    PowerPoster
    Join Date
    Aug 2011
    Location
    B.C., Canada
    Posts
    2,887

    Re: make a forms width fit printout

    Every printer should allow landscape, if not then simply flip it landscape in the picturebox. What code were you using?

  6. #6
    PowerPoster
    Join Date
    Feb 2012
    Location
    West Virginia
    Posts
    14,205

    Re: make a forms width fit printout

    I don't think I have ever came across a printer that did not support landscape printing unless it was just a label printer.

    So it would seem that you should be printing in landscape mode and then you might want to scale it as well.

    As for a method not mentioned the obvious would be to use a report rather than printing the form.

  7. #7

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by Max187Boucher View Post
    Every printer should allow landscape, if not then simply flip it landscape in the picturebox. What code were you using?
    I did not try it I just read it somewhere'
    I just did printform
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  8. #8

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by DataMiser View Post
    I don't think I have ever came across a printer that did not support landscape printing unless it was just a label printer.

    So it would seem that you should be printing in landscape mode and then you might want to scale it as well.

    As for a method not mentioned the obvious would be to use a report rather than printing the form.
    What do you mean by Use a report ?
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  9. #9
    PowerPoster
    Join Date
    Aug 2011
    Location
    B.C., Canada
    Posts
    2,887

    Re: make a forms width fit printout

    Ok I got two options for you.


    1 - Use Landscape

    Code:
    Printer.Orientation = vbPRORLandscape
    PrintForm

    2 - Use this function (I put it in a Module .bas)

    Code:
    Option Explicit
    
    Private Type GUID
        Data1    As Long
        Data2    As Integer
        Data3    As Integer
        Data4(7) As Byte
    End Type
    
    Private Type PicBmp
        Size As Long
        Type As Long
        hBitmap As Long
        hPal As Long
        Reserved As Long
    End Type
    
    Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
    Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hdc As Long) As Long
    Private Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As Long
    Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
    Private Declare Function DeleteDC Lib "GDI32" (ByVal hdc As Long) As Long
    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
    Private Declare Function SelectObject Lib "GDI32" (ByVal hdc As Long, ByVal hObject As Long) As Long
    Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
    
    
    
    Public Function FormToPrint(MyForm As Form) As Picture
    Dim FormWidth     As Long
    Dim FormHeight    As Long
    Dim SourceDC      As Long
    Dim MemoryDC      As Long
    Dim hBitmap       As Long
    Dim hBitmapTemp   As Long
    
    With MyForm
      FormWidth = .ScaleX(.ScaleWidth, .ScaleMode, vbPixels)
      FormHeight = .ScaleY(.ScaleHeight, .ScaleMode, vbPixels)
    End With
    
      SourceDC = MyForm.hdc
      MemoryDC = CreateCompatibleDC(SourceDC)
      hBitmap = CreateCompatibleBitmap(SourceDC, FormWidth, FormHeight)
      hBitmapTemp = SelectObject(MemoryDC, hBitmap)
    
      BitBlt MemoryDC, 0, 0, FormWidth, FormHeight, SourceDC, 0, 0, vbSrcCopy
    
      hBitmap = SelectObject(MemoryDC, hBitmapTemp)
      
      DeleteDC MemoryDC
      ReleaseDC MyForm.hWnd, SourceDC
    
    Set FormToPrint = CreateBitmap(hBitmap)
    End Function
    
    
    Private Function CreateBitmap(ByVal hBitmap As Long) As Picture
    Dim Pic           As PicBmp
    Dim IPic          As IPicture
    Dim IID_IDispatch As GUID
    
      With IID_IDispatch
          .Data1 = &H20400
          .Data4(0) = &HC0
          .Data4(7) = &H46
      End With
      
      With Pic
          .Size = Len(Pic)
          .Type = vbPicTypeBitmap
          .hBitmap = hBitmap
      End With
      
      OleCreatePictureIndirect Pic, IID_IDispatch, 1, IPic
    
    Set CreateBitmap = IPic
    End Function
    Here is how you call it (also added a simple picture scaling option)

    Code:
    Dim Percentage As Double
    
    Percentage = 50 'Set Image scale %
    Percentage = Percentage / 100
    
    Printer.ScaleMode = vbTwips
    Printer.PaintPicture FormToPrint(Form1), 0, 0, Percentage * Form1.ScaleWidth, Percentage * Form1.ScaleHeight
    Printer.EndDoc

    Let me know if this works for you.

  10. #10
    PowerPoster
    Join Date
    Feb 2012
    Location
    West Virginia
    Posts
    14,205

    Re: make a forms width fit printout

    Quote Originally Posted by isnoend07 View Post
    What do you mean by Use a report ?
    I mean use a report, as in either the report tool that comes with VB or Crystal or the one I use Active Reports these are designed for displaying and printing data reports which is what you seem to be trying to do by printing your form.

    I always use a report or direct code and never resort to printing a form.
    IMO the forms border, title bar, control box, the close button, the borders around the text boxes and such make it look very unprofessional when printed that way.

  11. #11

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by Max187Boucher View Post
    Ok I got two options for you.


    1 - Use Landscape

    Code:
    Printer.Orientation = vbPRORLandscape
    PrintForm


    2 - Use this function (I put it in a Module .bas)

    Code:
    Option Explicit
    
    Private Type GUID
        Data1    As Long
        Data2    As Integer
        Data3    As Integer
        Data4(7) As Byte
    End Type
    
    Private Type PicBmp
        Size As Long
        Type As Long
        hBitmap As Long
        hPal As Long
        Reserved As Long
    End Type
    
    Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
    Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hdc As Long) As Long
    Private Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As Long
    Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
    Private Declare Function DeleteDC Lib "GDI32" (ByVal hdc As Long) As Long
    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
    Private Declare Function SelectObject Lib "GDI32" (ByVal hdc As Long, ByVal hObject As Long) As Long
    Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
    
    
    
    Public Function FormToPrint(MyForm As Form) As Picture
    Dim FormWidth     As Long
    Dim FormHeight    As Long
    Dim SourceDC      As Long
    Dim MemoryDC      As Long
    Dim hBitmap       As Long
    Dim hBitmapTemp   As Long
    
    With MyForm
      FormWidth = .ScaleX(.ScaleWidth, .ScaleMode, vbPixels)
      FormHeight = .ScaleY(.ScaleHeight, .ScaleMode, vbPixels)
    End With
    
      SourceDC = MyForm.hdc
      MemoryDC = CreateCompatibleDC(SourceDC)
      hBitmap = CreateCompatibleBitmap(SourceDC, FormWidth, FormHeight)
      hBitmapTemp = SelectObject(MemoryDC, hBitmap)
    
      BitBlt MemoryDC, 0, 0, FormWidth, FormHeight, SourceDC, 0, 0, vbSrcCopy
    
      hBitmap = SelectObject(MemoryDC, hBitmapTemp)
      
      DeleteDC MemoryDC
      ReleaseDC MyForm.hWnd, SourceDC
    
    Set FormToPrint = CreateBitmap(hBitmap)
    End Function
    
    
    Private Function CreateBitmap(ByVal hBitmap As Long) As Picture
    Dim Pic           As PicBmp
    Dim IPic          As IPicture
    Dim IID_IDispatch As GUID
    
      With IID_IDispatch
          .Data1 = &H20400
          .Data4(0) = &HC0
          .Data4(7) = &H46
      End With
      
      With Pic
          .Size = Len(Pic)
          .Type = vbPicTypeBitmap
          .hBitmap = hBitmap
      End With
      
      OleCreatePictureIndirect Pic, IID_IDispatch, 1, IPic
    
    Set CreateBitmap = IPic
    End Function
    Here is how you call it (also added a simple picture scaling option)

    Code:
    Dim Percentage As Double
    
    Percentage = 50 'Set Image scale %
    Percentage = Percentage / 100
    
    Printer.ScaleMode = vbTwips
    Printer.PaintPicture FormToPrint(Form1), 0, 0, Percentage * Form1.ScaleWidth, Percentage * Form1.ScaleHeight
    Printer.EndDoc

    Let me know if this works for you.
    Thanks for adding those options
    Hope the 2nd option works
    I will try now and be back
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  12. #12

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by isnoend07 View Post
    Thanks for adding those options
    Hope the 2nd option works
    I will try now and be back
    Thanks that works good with some minor adjustments it will be perfect eg;
    little bigger and center aligned.
    I am glad you added that
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  13. #13

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by Max187Boucher View Post
    Ok I got two options for you.


    1 - Use Landscape

    Code:
    Printer.Orientation = vbPRORLandscape
    PrintForm

    2 - Use this function (I put it in a Module .bas)

    Code:
    Option Explicit
    
    Private Type GUID
        Data1    As Long
        Data2    As Integer
        Data3    As Integer
        Data4(7) As Byte
    End Type
    
    Private Type PicBmp
        Size As Long
        Type As Long
        hBitmap As Long
        hPal As Long
        Reserved As Long
    End Type
    
    Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
    Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hdc As Long) As Long
    Private Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As Long
    Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
    Private Declare Function DeleteDC Lib "GDI32" (ByVal hdc As Long) As Long
    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
    Private Declare Function SelectObject Lib "GDI32" (ByVal hdc As Long, ByVal hObject As Long) As Long
    Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
    
    
    
    Public Function FormToPrint(MyForm As Form) As Picture
    Dim FormWidth     As Long
    Dim FormHeight    As Long
    Dim SourceDC      As Long
    Dim MemoryDC      As Long
    Dim hBitmap       As Long
    Dim hBitmapTemp   As Long
    
    With MyForm
      FormWidth = .ScaleX(.ScaleWidth, .ScaleMode, vbPixels)
      FormHeight = .ScaleY(.ScaleHeight, .ScaleMode, vbPixels)
    End With
    
      SourceDC = MyForm.hdc
      MemoryDC = CreateCompatibleDC(SourceDC)
      hBitmap = CreateCompatibleBitmap(SourceDC, FormWidth, FormHeight)
      hBitmapTemp = SelectObject(MemoryDC, hBitmap)
    
      BitBlt MemoryDC, 0, 0, FormWidth, FormHeight, SourceDC, 0, 0, vbSrcCopy
    
      hBitmap = SelectObject(MemoryDC, hBitmapTemp)
      
      DeleteDC MemoryDC
      ReleaseDC MyForm.hWnd, SourceDC
    
    Set FormToPrint = CreateBitmap(hBitmap)
    End Function
    
    
    Private Function CreateBitmap(ByVal hBitmap As Long) As Picture
    Dim Pic           As PicBmp
    Dim IPic          As IPicture
    Dim IID_IDispatch As GUID
    
      With IID_IDispatch
          .Data1 = &H20400
          .Data4(0) = &HC0
          .Data4(7) = &H46
      End With
      
      With Pic
          .Size = Len(Pic)
          .Type = vbPicTypeBitmap
          .hBitmap = hBitmap
      End With
      
      OleCreatePictureIndirect Pic, IID_IDispatch, 1, IPic
    
    Set CreateBitmap = IPic
    End Function
    Here is how you call it (also added a simple picture scaling option)

    Code:
    Dim Percentage As Double
    
    Percentage = 50 'Set Image scale %
    Percentage = Percentage / 100
    
    Printer.ScaleMode = vbTwips
    Printer.PaintPicture FormToPrint(Form1), 0, 0, Percentage * Form1.ScaleWidth, Percentage * Form1.ScaleHeight
    Printer.EndDoc

    Let me know if this works for you.
    Tried to give you reputation,but i have to spread some first
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  14. #14

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by isnoend07 View Post
    Tried to give you reputation,but i have to spread some first
    How can the printout be centered.
    Have changed the size: Percentage = 75 '50 'Set Image scale %
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  15. #15
    PowerPoster
    Join Date
    Aug 2011
    Location
    B.C., Canada
    Posts
    2,887

    Re: [RESOLVED] make a forms width fit printout

    Just so you know you can set more of the printer properties.

    For example,

    Orientation (vbPRORLandscape/vbPRORPortrait)
    PrintQuality (vbPRPQDraft/vbPRPQHigh/vbPRPQLow/vbPRPQMedium)
    ColorMode (vbPRCMMonochrome/vbPRCMColor) 'Black/White or Color

  16. #16
    PowerPoster
    Join Date
    Aug 2011
    Location
    B.C., Canada
    Posts
    2,887

    Re: make a forms width fit printout

    Quote Originally Posted by isnoend07 View Post
    How can the printout be centered.
    Have changed the size: Percentage = 75 '50 'Set Image scale %
    Sorry I won't have time to test this to see if it works...
    read this here
    That link might have the solution you need or an idea on how to implement a "center picture" option.

  17. #17

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: make a forms width fit printout

    Quote Originally Posted by Max187Boucher View Post
    Sorry I won't have time to test this to see if it works...
    read this here
    That link might have the solution you need or an idea on how to implement a "center picture" option.
    Thanks Max187Boucher I could not get the VBWire code to work,so have decided to arrange the form
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  18. #18
    PowerPoster
    Join Date
    Aug 2011
    Location
    B.C., Canada
    Posts
    2,887

    Re: [RESOLVED] make a forms width fit printout

    Sorry to leave you stranded but you should be able to adjust the height (top) of your picture printout. Either by setting some printer property or adding blank lines in front before your picture. Only have a cheap iphone at the moment so can't try it out.

  19. #19

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: [RESOLVED] make a forms width fit printout

    Quote Originally Posted by Max187Boucher View Post
    Sorry to leave you stranded but you should be able to adjust the height (top) of your picture printout. Either by setting some printer property or adding blank lines in front before your picture. Only have a cheap iphone at the moment so can't try it out.
    No problem
    I appreciate the help
    setting the top margin is a simple matter of moving a frame before printing, then putting it back.
    Also changed the forms color from brown to white
    This change is briefly visible so i may have to copy the data to another form and print that form. Posted a question here:
    http://www.vbforums.com/showthread.p...31#post4770631
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  20. #20

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: [RESOLVED] make a forms width fit printout

    Quote Originally Posted by Max187Boucher View Post
    Sorry to leave you stranded but you should be able to adjust the height (top) of your picture printout. Either by setting some printer property or adding blank lines in front before your picture. Only have a cheap iphone at the moment so can't try it out.
    Had Decided to use printform along with Private Declare Function LockWindowUpdate so as to not briefly show arranging controls before
    print. But now I have discovered Printforms print is blurry and am trying to go back to the code you posted, which i had a problem centering
    print output, but the print was clear just not centered.
    I am thinking a fix may be to put all the forms controls in a borderless picturebox and arranging that before print.
    Would this work ?
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

  21. #21
    PowerPoster
    Join Date
    Aug 2011
    Location
    B.C., Canada
    Posts
    2,887

    Re: [RESOLVED] make a forms width fit printout

    I got you a center option now, but reducing an image size will always cause some sort of distortion, but it still looks good. I'm sure you could make it clearer with some function (like in photoshop) but thats a different story, you would need to fix the pixels that are distorted.

    Ok anyways here is what I came up with...

    Code:
    Dim Percentage As Double
    Dim PrintX As Integer
    Dim PrintY As Integer
    Dim PrintWidth As Integer
    Dim PrintHeight As Integer
    
    Percentage = 75
    Percentage = Percentage / 100
    
    Printer.ScaleMode = vbTwips
    Printer.Orientation = vbPRORLandscape 'vbPRORLandscape, vbPRORPortrait
    Printer.PrintQuality = vbPRPQHigh 'vbPRPQDraft, vbPRPQLow, vbPRPQMedium, vbPRPQHigh
    
    PrintWidth = Percentage * ScaleX(Form1.ScaleWidth, Form1.ScaleMode, Printer.ScaleMode)
    PrintHeight = Percentage * ScaleY(Form1.ScaleHeight, Form1.ScaleMode, Printer.ScaleMode)
    
    PrintX = Printer.ScaleLeft + (Printer.ScaleWidth - PrintWidth) / 2
    PrintY = Printer.ScaleTop + (Printer.ScaleHeight - PrintHeight) / 2
    
    Printer.PaintPicture FormToPrint(Form1), PrintX, PrintY, PrintWidth, PrintHeight
    Printer.EndDoc
    I tested it with my pc in landscape and portrait and (for me) it worked out really good and centered!

  22. #22

    Thread Starter
    PowerPoster isnoend07's Avatar
    Join Date
    Feb 2007
    Posts
    3,237

    Re: [RESOLVED] make a forms width fit printout

    Thanks that works better
    Waiting for a full featured smart phone with out marrying a provider
    Go Android
    Go raiders

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width