Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Me.PrintForm


Автор: klen1 24.4.2006, 08:14
Вот такой текст программы!
Код

   Printer.CurrentX = 700                 ' слева
   Printer.CurrentY = 720                 ' справа
   Printer.PaperSize = vbPRPSA4           ' формат листа
   Printer.Orientation = vbPRORPortrait   ' ориентация

   Me.PrintForm
Подскажите, как распечатать простую форму с отступом слева. Спасибо. 

Автор: Akina 24.4.2006, 11:01
Printer.CurrentX, Printer.CurrentY работают только для вывода графических примитивов. Для управления принтером (изменения границ в частности) надо рулить принтером мимо формы. Наиболее удобно это делать через WMI.

PS. Не зря же существует Printer.TrackDefault ...
 

Автор: klen1 3.5.2006, 14:02
Код

    ' сдивунь форму правее и все её объекты
    Me.Width = Me.Width + 1000
    Dim ob
    For Each ob In Me
      ob.Left = ob.Left + 1000
    Next
    
   Me.BackColor = &H80000005
   Me.Pechat.Visible = False
   Me.PrintForm
   Me.Pechat.Visible = True
   Me.BackColor = &H80000016
   
   ' вернуть объекты на место
    For Each ob In Me
      ob.Left = ob.Left - 1000
    Next
    Me.Width = Me.Width - 1000
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)