Friday, June 8, 2012

Rotasi Font Menggunakan Visual Basic 6.0

Modul untuk memutarkan atau merotasi font berdasarkan derajat tertentu serta koordinat tertentu menggunakan VB6 - Bagaimana kode serta contoh penggunaannya, bisa Anda lihat di bawah ini:
Option Explicit 

Public Type
LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFacename As String * 33
End Type

Public Declare Function
CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Public Declare Function
SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function
DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Public Sub
RotateFont(pic As PictureBox, fontsize As Integer, fontname As String, x As Integer, y As Integer, degree As Integer, txt As String)

On Error GoTo
ErrHandler

Dim F As
LOGFONT
Dim hPrevFont As Long
Dim
hFont As Long
pic.Cls

F.lfEscapement = 10 * Val(degree)
F.lfFacename = fontname
F.lfHeight = (fontsize * -20) / Screen.TwipsPerPixelY
pic.fontname = "Arial Black" + Chr$(0)
hFont = CreateFontIndirect(F)
hPrevFont = SelectObject(pic.hdc, hFont)

pic.CurrentX = x
pic.CurrentY = y
pic.Print txt

hFont = SelectObject(pic.hdc, hPrevFont)
DeleteObject hFont
Exit Sub

ErrHandler:

MsgBox Err.Description

End Sub
Modul di atas memiliki 7 parameter, Adapun contoh penggunaannya sebagai berikut:
Private Sub Command1_Click() 
RotateFont Picture1, 12, "Arial", 90, 2500, _
40, "khoiriyyah.blogspot.com"
'Keterangan:
' 1. Picture1 = PictureBox
' 2. 12 = ukuran huruf
' 3. Arial = nama huruf
' 4. 90 = koordinat X
' 5. 2500 = koordinat Y
' 6. 40 = derajat putaran (0 derajat = normal, 90 derajat = tegak lurus)
' 7. khoiriyyah.blogspot.com = text yang dimasukan ke dalam PictureBox
End Sub
READ MORE - Rotasi Font Menggunakan Visual Basic 6.0

Menentukan Titik Koordinat Text Pada Watermark | VB6

Artikel yang menjelaskan cara menempatkan text (watermark) berdasarkan titik koordinat, posting ini merupakan kelanjutan dari posting sebelumnya mengenai dasar-dasar membuat software watermark (Belajar Visual Basic 6 untuk pemula melalui praktik). Selanjutnya agar text watermark dapat ditempatkan sesuai keinginan, maka kita harus menentukan titik koordinatnya terlebih dahulu. Adapun kode lengkap untuk menentukan titik koordinat text watermark adalah sebagai berikut:
'--------------------------------------------------------------------------------------- 
' http://khoiriyyah.blogspot.com 
' coder: Administrator 
'--------------------------------------------------------------------------------------- 
Option Explicit 

Dim intCurrentX As Integer 'variabel untuk menyimpan koordinat X 
Dim intCurrentY As Integer 'variabel untuk menyimpan koordinat Y 
 
Private Sub Command1_Click() 
    Picture1.Cls 'bersihkan Picture1 dari seluruh text 
    Picture1.CurrentX = intCurrentX 'ambil nilai X dari variabel di atas 
    Picture1.CurrentY = intCurrentY 'ambil nilai Y dari variabel di atas 
    Picture1.Print "http://khoiriyyah.blogspot.com" 'beri watermark! 
    SavePicture Picture1.Image, App.Path & "\watermark_sample.bmp" 'jadikan file dan simpan. 
End Sub 

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 
    intCurrentX = X 'masukan nilai X pada variabel berdasarkan koordinat klik mouse 
    intCurrentY = Y 'masukan nilai Y pada variabel berdasarkan koordinat klik mouse 
End Sub 
Dengan menggunakan kode di atas, maka kita dapat menentukan titik koordinat text watermark seperti pada gambar berikut:
READ MORE - Menentukan Titik Koordinat Text Pada Watermark | VB6

Menonaktifkan/Disable Task Manager Menggunakan VB6

Posting yang menjelaskan mengenai cara menonaktifkan task manager melalui kode Visual Basic 6.0 - Mendisable atau menonaktifkan task manager terkadang diperlukan untuk pembuatan aplikasi-aplikasi tertentu sebut saja billing warnet. Umumnya kode yang digunakan untuk menonaktifkan task manager dengan mengubah nilai registry, namun berbeda dengan kode di bawah ini yang mendisable task manager tanpa mengubah nilai registry. Bagaimana implementasi kode untuk mendisable task manager, bisa Anda lihat di bawah ini:
'simpan kode di bawah pada module 
Option Explicit

Private Declare Function
Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Private Declare Function
FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Type
NOTIFYICONDATA
cbSize As Long
hWnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Private Const
NIM_DELETE = &H2

Public Function
DisableTaskManager()
Dim tskWin As Long, t As NOTIFYICONDATA
Shell "taskmgr.exe", vbHide
Do Until tskWin <> 0
tskWin = FindWindow("#32770", "Windows Task Manager")
Loop
t.hWnd = tskWin
Shell_NotifyIcon NIM_DELETE, t
End Function
Contoh penggunaan kode di atas:
Option Explicit 'simpan kode ini pada form 

Private Sub
Form_Load()
DisableTaskManager
End Sub
READ MORE - Menonaktifkan/Disable Task Manager Menggunakan VB6

VB6 Code - 2 Baris Kode Inti Membuat Software Watermark

Apakah gambar yang diberi watermark itu? mengapa gambar diberi watermark? mengenai hal ini, saya percaya Anda (blogger) lebih tahu jawabannya. Posting kali ini kita akan membahas tentang project VB6 step by step tentang pembuatan software watermark. Dalam membuat software, tentu kita harus dapat membedakan mana yang menjadi kode inti (primer) mana yang menjadi kode tambahan (sekunder). Dengan demikian, maka kita akan dengan mudah mengatur, memelihara, menambah, mengurangi, menghilangkan, mengupdate, software tersebut. Kode inti merupakan kode utama pembentuk software. Sedangkan kode tambahan (sekunder) kode-kode yang melengkapi kode primer tadi, sehingga bisa disebut: plug-ins, add-ons, add-ins, fasilitas, tambahan, pelengkap, penyempurna, dan seluruh kata yang setara dengan itu. Umumnya dengan kode-kode sekunder tadi maka sebuah software akan memiliki versi-versi, versi 1.0, versi 1.0.1, versi 1.0.2 dan seterusnya, lengkap dengan history, bug fixed, kekurangan, serta kelebihannya. Disini saya memiliki contoh yang baik mengenai hal yang telah dijelaskan di atas, yaitu mengenai pembuatan software watermark. Kode intinya hanya 2 baris saja. Berikut kode inti dari software watermark tersebut:
'--------------------------------------------------------------------------------------- 
' http://khoiriyyah.blogspot.com 
' coder: Administrator 
'--------------------------------------------------------------------------------------- 
Option Explicit 
 
Private Sub Command1_Click() 
    Picture1.Print "http://khoiriyyah.blogspot.com" 'watermark! 
    SavePicture Picture1.Image, App.Path & "\watermark_sample.bmp" 'and save 
End Sub 
dan hasilnya (walaupun harus menggunakan yang lain untuk mengkonversi dari bmp ke jpg):

contoh gambar yang sudah diberi watermark
Untuk selanjutnya (To Do):
  1. Mencari/membuat class, module, ocx, dll untuk merubah ke format lain (gif, jpg, jpeg, png, dsb)
  2. Rotasi huruf
  3. Memindahkan huruf berdasarkan koordinat
  4. dsb saja (terlalu banyak untuk dituliskan).


READ MORE - VB6 Code - 2 Baris Kode Inti Membuat Software Watermark