SDI Form - ( Single ******** Interface )
Formun yüklenmesi sırasında Load olayı içerisinde bulunan kodunuzun daha aktif olması için kodun ilk satırına Me.Show eklenir böylece form otomatik olarak devreye girer.
AutoRedraw özelliğini hızlı form güncellemesine gereksinim duyulan noktalarda False yapılır.
Formlar gerekmedikçe bellekten Unload komutu ile silinmez. Ekranda gözükmesi istemiyorsa, Unload yerine Hide ile saklanır.
Bir form üzerinde farklı ad taşıyan en fazla 254 kontrol nesnesi bulunabilir. Aynı tür olanlar bir dizi şeklinde aynı ad ile indekslenerek kullanılabilir.
Formun çağrılıp gösterilmesi sırasında gerçekleşen olayların sırası;
Form_Initialize
Form_Load
Form_Resize
Form_Paint
Set form1 = Nothing ‘ Terminate - Formun hafızadan silinmesi
Form.KeyPreview = true ‘ KeyPress olayını form tarafından
algılanabilmesi Keypreview True olmalıdır
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEscape Then End ‘ Escape tuşu ile program kapanır
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
DrawWidth = 5
If Button = 1 Then ‘ Fare sol tuşu basılı olarak
Pset(X,Y) ‘ form üzerinde dolaştırıldığında
End IF ‘ noktalar halinde bir çizgi çizer
End Sub
Private Sub Form_Click()
DrawWith = 5
Line (100,150) - (500 - 1000) ‘ Düz çizgi
Line - (500 - 1000) ‘ Sıfır noktasından düz çizgi
Line (100,150) - (500 - 1000) , RGB (0, 255, 0) ‘ Yeşil düz çizgi
Line (100,150) - (500 - 1000) , RGB (0, 255, 0), B ‘ Yeşil kenarlı dikdörtgen
Line (100,150) - (500 - 1000) , RGB (0, 255, 0), BF ‘ İçi dolu yeşil dikdörtgen
Circle (1500, 1500), 400
‘ 1500, 1500 Noktası merkezli 400 twip yarıçaplı daire
Circle (1500, 1500), 400, RGB (0, 0, 255) ‘ Mavi daire
Circle (1500, 1500), 400, RGB (0, 0, 255), 0 , 3.14 ‘ Yarım mavi daire
Circle (1500, 1500), 400, RGB (0, 0, 255), , , 0.5 ‘ Enlemesine mavi elips
Circle (1500, 1500), 400, RGB (0, 0, 255), , , 1.5 ‘ Boylamasına mavi elips
pSet (1500, 1500), RGB (255, 0, 0) ‘ Kırmızı nokta
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Select Case UnloadMode
Case vbFormControlMenu
MsgBox "Kontrol Mönüsü İle Kapatılmıştır"
Case vbFormCode
MsgBox "Kod İle Kapatılmıştır" ‘ Unload ile
Case vbAppWindows
MsgBox "Windows Kapandığı İçin Kapanmıştır"
Case vbAppTaskManager
MsgBox "Task Manager Tarafından Kapatılmıştır"
Case vbFormMDIForm
MsgBox "MDI Formu Kapandığı İçin Kapanmıştır"
End Select
End Sub
SDI Form - Özellikler
ActiveControl : Form üzerindeki aktif kontrol
ActiveForm : Formun aktif form olup olmadığı
AutoRedraw : Formun otomatik olarak tekrar çizilmesi
ControlBox : Formun kontrol mönüsü
False ise alt + F4 ile form kapatılamaz
Count : Mönüler dahil form içerisindeki kontrol sayısı
CurrentX : Form üzerindeki bir noktanın sol kenardan uzaklığı
CurrentY : Form üzerindeki bir noktanın üst kenardan uzaklığı
DrawMode : Çizilen renkli çizgilerin etkisini kontrolü
FillColor : Dolgu rengi ( circle ve line methodları için )
FillStyle : Dolgu stili ( circle ve line methodları için )
ForeColor : Text ya da grafiğin rengini denetler.
HDC : Windows tarafından programa verilen referans numarası
Icon : Formun ikonu
Image : AutoDraw - True ise çizimler image özelliğine kaydedilir
KeyPreview : True - KeyPress olayı her zaman form tarafından algılanır
MaxButton : Formun ekranı kaplama butonu
MDIChild : Formun Child form olup olmadığı
MinButton : Formun küçülme butonu
ScaleLeft/ScaleTop : Formun sol/üst pozisyonu
ScaleMode : Form dahilinde kullanılabilecek ölçü birimini denetler
ScaleWidth : Formun iç genişliğini gösterir.
ShowInTaskbar : Formun TaskBar’da görülüp görülemeyeceği
StartUpPosition : Formun ekranda ki açılış pozisyonu
WindowState : Formun başlangıç boyutunu denetler
SDI Form - Olaylar
Activate
Click
DblClick
Deactivate
DragDrop
DragOver
GotFocus
Initialize
KeyDown
KeyPress
KeyUp
LinkClose
LinkError
LinkExecute
LinkOpen
Load
LostFocus
MouseDown
MouseMove
MouseUp
OleCompleteDrag
OleDragDrop
OleDragOver
OleGiveFeedBack
OleSetData
OleStartDrag
Paint
QueryUnload
Resize
Terminate
Unload
Activate : Formun aktif hale gelmesi olayı
GotFocus olayından önce
Deactivate : Başka bir formun yada programın aktif hale gelmesi olayı
LostFocus olayından önce oluşur
GotFocus : Formun aktif hale geçmesi
Form üzerindeki tüm kontrollerin visible özelliği false olmalıdır
Initialize : Form load olayından önce meydana gelir
Load : Form yüklenirken ilk gerçekleşen olay
LostFocus : Başka bir nesnenin aktif hale geçmesi
Paint : Formun boyutlarında değişiklik yapılması veya form üzerine başka
bir form gelmesi olayı, Refresh ile oluşur
QueryUnload : Form kapatılmadan hemen önce
Resize : Form boyutlarında değişiklik yapılması
Terminate : Formun yok edilmesi
Unload : Form kapanırken gerçekleşir
Yöntemler
Circle
Cls
Hide
Item
Line
Move
Move
PaintPicture
Point
Print
PrintForm
PSet
Refresh
Scale
SetFocus
Show
TextHeight
TextWidth
Unload
Zorder
Cls : Form içerisine print ile yazılanları silme
Hide : Formun saklanması. Visible özelliği false yapılarak sağlanabilir
Move : Formun yer değiştirmesi
Print : Form üzerine yazı yazılmasını sağlar
PrintForm : Formun yazdırılması. AutoReDraw özelliği true olmalı
Refresh : Formun tazelenmesi ve güncellemesi
SetFocus : Formun aktif hale geçmesi
Show : Formun gösterilmesi
TextHeight : Textin yüksekliği
TextWidth : Textin genişliği
Unload : Formun bellekten silinmesi
Formu Ortalamak
Private Sub Form_Load()
Left = (Screen.Width - Width) / 2 ‘ Ekran yüksekliğinden form yüksekliği
Top = (Screen.Height - Height) / 2 ‘ çıkarılarak fark ikiye bölünüyor
End Sub
Private Sub Form_Load()
Me.Move (Screen.Height - Me.Height)/2, (Screen.Width - Me.Width)/2
End Sub
Formu Sürekli En Üstte Tutmak
(General)(Declaration)
Const HWND_TOPMOST = -1 ' Form en üstte
Const HWND_NOTOPMOST = -2 ' Normal
Const SWP_NOSIZE = &H1 ' Form boyutları değiştirilemez
Const SWP_NOMOVE = &H2 ' Form taşınmaz
Const SWP_NOACTIVATE = &H10 ' Form aktif yapılmaz
Const SWP_SHOWWINDOW = &H40 ' Pencere Görünür
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long)
Private Sub Form_Activate()
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE _
Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
Formun yüklenmesi sırasında Load olayı içerisinde bulunan kodunuzun daha aktif olması için kodun ilk satırına Me.Show eklenir böylece form otomatik olarak devreye girer.
AutoRedraw özelliğini hızlı form güncellemesine gereksinim duyulan noktalarda False yapılır.
Formlar gerekmedikçe bellekten Unload komutu ile silinmez. Ekranda gözükmesi istemiyorsa, Unload yerine Hide ile saklanır.
Bir form üzerinde farklı ad taşıyan en fazla 254 kontrol nesnesi bulunabilir. Aynı tür olanlar bir dizi şeklinde aynı ad ile indekslenerek kullanılabilir.
Formun çağrılıp gösterilmesi sırasında gerçekleşen olayların sırası;
Form_Initialize
Form_Load
Form_Resize
Form_Paint
Set form1 = Nothing ‘ Terminate - Formun hafızadan silinmesi
Form.KeyPreview = true ‘ KeyPress olayını form tarafından
algılanabilmesi Keypreview True olmalıdır
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEscape Then End ‘ Escape tuşu ile program kapanır
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
DrawWidth = 5
If Button = 1 Then ‘ Fare sol tuşu basılı olarak
Pset(X,Y) ‘ form üzerinde dolaştırıldığında
End IF ‘ noktalar halinde bir çizgi çizer
End Sub
Private Sub Form_Click()
DrawWith = 5
Line (100,150) - (500 - 1000) ‘ Düz çizgi
Line - (500 - 1000) ‘ Sıfır noktasından düz çizgi
Line (100,150) - (500 - 1000) , RGB (0, 255, 0) ‘ Yeşil düz çizgi
Line (100,150) - (500 - 1000) , RGB (0, 255, 0), B ‘ Yeşil kenarlı dikdörtgen
Line (100,150) - (500 - 1000) , RGB (0, 255, 0), BF ‘ İçi dolu yeşil dikdörtgen
Circle (1500, 1500), 400
‘ 1500, 1500 Noktası merkezli 400 twip yarıçaplı daire
Circle (1500, 1500), 400, RGB (0, 0, 255) ‘ Mavi daire
Circle (1500, 1500), 400, RGB (0, 0, 255), 0 , 3.14 ‘ Yarım mavi daire
Circle (1500, 1500), 400, RGB (0, 0, 255), , , 0.5 ‘ Enlemesine mavi elips
Circle (1500, 1500), 400, RGB (0, 0, 255), , , 1.5 ‘ Boylamasına mavi elips
pSet (1500, 1500), RGB (255, 0, 0) ‘ Kırmızı nokta
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Select Case UnloadMode
Case vbFormControlMenu
MsgBox "Kontrol Mönüsü İle Kapatılmıştır"
Case vbFormCode
MsgBox "Kod İle Kapatılmıştır" ‘ Unload ile
Case vbAppWindows
MsgBox "Windows Kapandığı İçin Kapanmıştır"
Case vbAppTaskManager
MsgBox "Task Manager Tarafından Kapatılmıştır"
Case vbFormMDIForm
MsgBox "MDI Formu Kapandığı İçin Kapanmıştır"
End Select
End Sub
SDI Form - Özellikler
ActiveControl : Form üzerindeki aktif kontrol
ActiveForm : Formun aktif form olup olmadığı
AutoRedraw : Formun otomatik olarak tekrar çizilmesi
ControlBox : Formun kontrol mönüsü
False ise alt + F4 ile form kapatılamaz
Count : Mönüler dahil form içerisindeki kontrol sayısı
CurrentX : Form üzerindeki bir noktanın sol kenardan uzaklığı
CurrentY : Form üzerindeki bir noktanın üst kenardan uzaklığı
DrawMode : Çizilen renkli çizgilerin etkisini kontrolü
FillColor : Dolgu rengi ( circle ve line methodları için )
FillStyle : Dolgu stili ( circle ve line methodları için )
ForeColor : Text ya da grafiğin rengini denetler.
HDC : Windows tarafından programa verilen referans numarası
Icon : Formun ikonu
Image : AutoDraw - True ise çizimler image özelliğine kaydedilir
KeyPreview : True - KeyPress olayı her zaman form tarafından algılanır
MaxButton : Formun ekranı kaplama butonu
MDIChild : Formun Child form olup olmadığı
MinButton : Formun küçülme butonu
ScaleLeft/ScaleTop : Formun sol/üst pozisyonu
ScaleMode : Form dahilinde kullanılabilecek ölçü birimini denetler
ScaleWidth : Formun iç genişliğini gösterir.
ShowInTaskbar : Formun TaskBar’da görülüp görülemeyeceği
StartUpPosition : Formun ekranda ki açılış pozisyonu
WindowState : Formun başlangıç boyutunu denetler
SDI Form - Olaylar
Activate
Click
DblClick
Deactivate
DragDrop
DragOver
GotFocus
Initialize
KeyDown
KeyPress
KeyUp
LinkClose
LinkError
LinkExecute
LinkOpen
Load
LostFocus
MouseDown
MouseMove
MouseUp
OleCompleteDrag
OleDragDrop
OleDragOver
OleGiveFeedBack
OleSetData
OleStartDrag
Paint
QueryUnload
Resize
Terminate
Unload
Activate : Formun aktif hale gelmesi olayı
GotFocus olayından önce
Deactivate : Başka bir formun yada programın aktif hale gelmesi olayı
LostFocus olayından önce oluşur
GotFocus : Formun aktif hale geçmesi
Form üzerindeki tüm kontrollerin visible özelliği false olmalıdır
Initialize : Form load olayından önce meydana gelir
Load : Form yüklenirken ilk gerçekleşen olay
LostFocus : Başka bir nesnenin aktif hale geçmesi
Paint : Formun boyutlarında değişiklik yapılması veya form üzerine başka
bir form gelmesi olayı, Refresh ile oluşur
QueryUnload : Form kapatılmadan hemen önce
Resize : Form boyutlarında değişiklik yapılması
Terminate : Formun yok edilmesi
Unload : Form kapanırken gerçekleşir
Yöntemler
Circle
Cls
Hide
Item
Line
Move
Move
PaintPicture
Point
PrintForm
PSet
Refresh
Scale
SetFocus
Show
TextHeight
TextWidth
Unload
Zorder
Cls : Form içerisine print ile yazılanları silme
Hide : Formun saklanması. Visible özelliği false yapılarak sağlanabilir
Move : Formun yer değiştirmesi
Print : Form üzerine yazı yazılmasını sağlar
PrintForm : Formun yazdırılması. AutoReDraw özelliği true olmalı
Refresh : Formun tazelenmesi ve güncellemesi
SetFocus : Formun aktif hale geçmesi
Show : Formun gösterilmesi
TextHeight : Textin yüksekliği
TextWidth : Textin genişliği
Unload : Formun bellekten silinmesi
Formu Ortalamak
Private Sub Form_Load()
Left = (Screen.Width - Width) / 2 ‘ Ekran yüksekliğinden form yüksekliği
Top = (Screen.Height - Height) / 2 ‘ çıkarılarak fark ikiye bölünüyor
End Sub
Private Sub Form_Load()
Me.Move (Screen.Height - Me.Height)/2, (Screen.Width - Me.Width)/2
End Sub
Formu Sürekli En Üstte Tutmak
(General)(Declaration)
Const HWND_TOPMOST = -1 ' Form en üstte
Const HWND_NOTOPMOST = -2 ' Normal
Const SWP_NOSIZE = &H1 ' Form boyutları değiştirilemez
Const SWP_NOMOVE = &H2 ' Form taşınmaz
Const SWP_NOACTIVATE = &H10 ' Form aktif yapılmaz
Const SWP_SHOWWINDOW = &H40 ' Pencere Görünür
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long)
Private Sub Form_Activate()
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE _
Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
