Jumat, 20 Maret 2009

Mengatur Spasi Baris Printing di VB6

Ringkasan:
Object Printer tidak secara khusus mempunyai seting untuk mengatur spasi baris, tetapi kita bisa mengatur spasi baris dengan menggunakan properti CurrentY dari object Printer.


Informasi Lebih Lanjut
Posisi print dari suatu halaman ditentukan oleh dua buah properti dari object Printer, CurrentX dan CurrentY, yang akan mengatur koordinat X dan Y . Setiap kali anda memanggil perintah Printer.Print, posisi CurrentY selalu bertambah untuk persiapan pencetakan baris selanjutnya. Jumlah penambahan ditentukan oleh jenis font dan driver dari printer. Jadi untuk memanipulasi spasi baris kita bisa gunakan secara langsung Printer.CurrentY.

Secara default, properti ini menggunakan twips dan besarnya 1440 twips tiap inchi logic. Jadi untuk enam baris per inchi kita membutuhkan 240 twips, dan untuk delapan baris per inchi kita menggunakan 180 twips. Kita bisa set Printer.ScaleMode untuk menggunakan predefine skala yang berbeda atau set properti ScaleHeight dan ScaleWidth untuk membuat skala sendiri. Ini juga bisa membantu untuk menggunakan properti TextHeight untuk menetukan tinggi minimum dari text, dan TextWidth untuk menentukan lebar dari string. Silahkan dilihat kembali Online Help dan lihat bagian REFERENCES di bawah untuk informasi lebih lanjut menggunakan properti-properti ini.
Code program di bawah ini menunjukan efek dari perubahan properti antar baris CurrentY. Sebagai catatan dengan cara ini kita bisa membuat pencetakan yang tumpang tindih tanpa error.

Contoh Langkah-Demi-Langkah
1. Start a new Standard EXE project. Form1 is created by default.
2. Add the following code to the code window of Form1:

Option Explicit

Private Sub Form_Click()
Dim Lines As Integer, Y As Long, OutStr As String

With Printer
.Print "Font is " & .Font.Name & " " & .Font.Size & " pt"

.CurrentY = .CurrentY + 500 ' Skip some space
.Print "First, print normally ..."
.Print "Line 1 " & ".CurrentY = " & .CurrentY
.Print "Line 2 " & ".CurrentY = " & .CurrentY
.Print "Line 3 " & ".CurrentY = " & .CurrentY

.CurrentY = .CurrentY + 500 ' Skip some space
.Print "Now shorten the lines for less line spacing ..."
.Print "Line 1 " & ".CurrentY = " & .CurrentY
.CurrentY = .CurrentY - 50
.Print "Line 2 " & ".CurrentY = " & .CurrentY
.CurrentY = .CurrentY - 50
.Print "Line 3 " & ".CurrentY = " & .CurrentY

.CurrentY = .CurrentY + 500 ' Skip some space
.Print "Now increase line spacing ..."
.CurrentY = .CurrentY + 50
.Print "Line 1 " & ".CurrentY = " & .CurrentY
.CurrentY = .CurrentY + 50
.Print "Line 2 " & ".CurrentY = " & .CurrentY
.CurrentY = .CurrentY + 50
.Print "Line 3 " & ".CurrentY = " & .CurrentY

.CurrentY = .CurrentY + 500 ' Skip some space
.Print "Now specify 6 lines per inch ..."
' Start at an even position to better see increments.
.CurrentY = .CurrentY + (1000 - .CurrentY Mod 1000)
For Lines = 1 To 6 ' These 6 lines take 1 inch on the page.
Y = .CurrentY ' Remember current Y position.
.Print "Line " & Lines & ": " & "6 Lines per inch - " & _
".CurrentY = " & .CurrentY
' Increment the Y position by 1/6th of an inch (240 twips).
.CurrentY = Y + 240 ' Reset to previous position + 240.
Next Lines
.EndDoc ' End the print job.
End With
End Sub

Private Sub Form_Load()
' Select a standard Font and size (Optional)
Printer.Font.Name = "Arial"
Printer.Font.Size = 8
End Sub



3. Jalankan program di atas akan menunjukan variasi dari spasi baris yang berbeda

Tidak ada komentar:

Posting Komentar