0 Üye ve 1 Ziyaretçi Konuyu İncelemekte. Aşağı İn :)
Sayfa 1
Konu: Sistem Menüsü  (Okunma Sayısı: 1837 Kere Okundu.)
« : Haziran 24, 2008, 03:24:39 ÖÖ »
Avatar Yok

seyyah
*
Üye No : 3239
Yaş : 33
Nerden : İzmir
Cinsiyet : Bay
Konu Sayısı : 2500
Mesaj Sayısı : 9 187
Karizma = 9172


Option Explicit

Dim mnuhandleno As Long, mnucnt As Long

Private Sub Command1_Click()
RemoveMenu mnuhandleno, mnucnt - 1, MF_BYPOSITION Or MF_REMOVE ’Deneme2 isimli menüyü sil
’ mnucnt - 2 olsaydı Deneme1 isimli, mnucnt - 3 olsaydı Kapat Seçeneği silinirdi
End Sub

Private Sub Form_Load()

mnuhandleno = GetSystemMenu(Me.hwnd, False) ’handle numarası verilen
’pencerenin sitem menüsü numarasını bul
Call AppendMenu(mnuhandleno, MF_STRING, &H10, "Deneme1") ’sistem menüsü numarası
’verilen pencerenin sistem menüsüne HEX10 numaralı Deneme1 isimli seçenek ekle
’AppendMenu apisindeki MF_STRING değeri yerine MF_DISABLED,MF_GRAYED,MF_SEPARATOR değerleri vererek menü seçeneklerini inceleyin.
Call AppendMenu(mnuhandleno, MF_STRING, &H20, "Deneme2") ’sistem menüsü numarası
’verilen pencerenin sistem menüsüne HEX10 numaralı Deneme2 isimli seçenek ekle
’Son numarası 0 olan &H30, & H40 gibi daha fazla seçenek eklenebilir.
formyakala Me.hwnd ’handle numarası verilen pencereye kanca atan prosedürü çağır
mnucnt = GetMenuItemCount(mnuhandleno) ’Sistem menüsünde kaç seçenek olduğunu bul seçenek
SetMenuItemBitmaps mnuhandleno, mnucnt - 1, MF_BYPOSITION, Picture1.Picture, Picture2.Picture ’Burası da
’sistem menüsüne resim eklemek için kullanılıyor. mnucnt - 1 sistem menüsü seçenek sayısının bir eksiği
’anlamına geliyor ve kod Deneme2 isimli seçeneğe Picture1 isimli PictureBox içindeki resmi ekliyor. Resmin
’menüde düzgün görüntülene bilmesi için resmin 13x13 ebatlarında olması gerekli.
’Picture1.Picture, Picture2.Picture ifadesi; menünün Checked özelliği False iken gösterilecek resmin
’Picture1 isimli PictureBox içindeki resim, Checked özelliği True iken gösterilecek resmin ise Picture2 isimli
’PictureBox içerisindeki resim olduğunu ifade eder. Picturebox yerine ImageList nesnesi de kullanılabilir.
End Sub

Private Sub Form_Unload(Cancel As Integer)
Formbirak Me.hwnd ’Pencere kapatılırken handle numarası verilen pencereye atılan
’kancayı bırakan prosedürü çağır. Aksi takdirde program kapanırken hata verir.
End Sub




’Buradan itibaren modüle yapıştırılacak
’Written by Serkan Karakoç
Option Explicit
Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Public Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long

Public Const WM_SYSCOMMAND = &H112
Public Const GWL_WNDPROC = (-4)
’************************************************* **
Public Const MF_STRING = &H0&
Public Const MF_CHECKED = &H8&
Public Const MF_DISABLED = &H2&
Public Const MF_GRAYED = &H1&
Public Const MF_SEPARATOR = &H800&
’************************************************* **
Public Const MF_BYPOSITION = &H400&
Public Const MF_REMOVE = &H1000

Dim PrevProc As Long
Public Sub formyakala(handle As Long)
’handle numarası verilen pencereye kanca at
PrevProc = SetWindowLong(handle, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub Formbirak(handle As Long)
’handle numarası verilen pencereyi bırak
SetWindowLong handle, GWL_WNDPROC, PrevProc
End Sub
Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
WindowProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)
If uMsg = WM_SYSCOMMAND Then ’yapılan işlem sistem menüsü ile ilgiliyse ilgili kodları çalıştır.
’******************************************** **
If wParam = &H10 Then ’mesaj numarası HEX10 ise ilgili kodları çalıştır.
MsgBox "Deneme1 seçildi" _
& Chr(13) & _
"Buraya başka kodlar da yazılabilir"
’******************************************** **
End If
If wParam = &H20 Then ’mesaj numarası HEX10 ise ilgili kodları çalıştır.
MsgBox "Deneme2 seçildi" _
& Chr(13) & _
"Buraya başka kodlar da yazılabilir"
End If
’******************************************** **
End If
End Function
« Son Düzenleme: Temmuz 20, 2012, 09:19:13 ÖS Gönderen : SmBRN »
WeBCaNaVaRi Botu

Bu Site Mükemmel :)

*****

Çevrimİçi Çevrimİçi

Mesajlar: 222 194


View Profile
Re: Sistem Menüsü
« Posted on: Nisan 18, 2024, 12:57:05 ÖS »

 
      Üye Olunuz.!
Merhaba Ziyaretçi. Öncelikle Sitemize Hoş Geldiniz. Ben WeBCaNaVaRi Botu Olarak, Siteden Daha Fazla Yararlanmanız İçin Üye Olmanızı ŞİDDETLE Öneririm. Unutmayın ki; Üyelik Ücretsizdir. :)

Giriş Yap.  Kayıt Ol.
Anahtar Kelimeler: Sistem Menüsü e-book, Sistem Menüsü programı, Sistem Menüsü oyunları, Sistem Menüsü e-kitap, Sistem Menüsü download, Sistem Menüsü hikayeleri, Sistem Menüsü resimleri, Sistem Menüsü haberleri, Sistem Menüsü yükle, Sistem Menüsü videosu, Sistem Menüsü şarkı sözleri, Sistem Menüsü msn, Sistem Menüsü hileleri, Sistem Menüsü scripti, Sistem Menüsü filmi, Sistem Menüsü ödevleri, Sistem Menüsü yemek tarifleri, Sistem Menüsü driverları, Sistem Menüsü smf, Sistem Menüsü gsm
Yanıtla #1
« : Aralık 16, 2008, 09:16:19 ÖS »
Avatar Yok

Musty*
*
Üye No : 2609
Yaş : 32
Nerden : İstanbul
Cinsiyet : Bay
Konu Sayısı : 2624
Mesaj Sayısı : 16 848
Karizma = 1552


sağol.

Y.
Yanıtla #2
« : Mayıs 04, 2010, 07:10:12 ÖS »

Anqel*
*
Üye No : 21465
Nerden : Yurt Dışı
Cinsiyet : Bayan
Konu Sayısı : 5208
Mesaj Sayısı : 17 796
Karizma = 50130


Teşekkürler..

WebCanavari
Yanıtla #3
« : Mayıs 04, 2010, 07:11:40 ÖS »
Avatar Yok

sibeL*
*
Üye No : 36722
Nerden : Giresun
Cinsiyet : Bayan
Konu Sayısı : 42
Mesaj Sayısı : 1 124
Karizma = 1026


Teşekkürler..

Sadece susuyorum !!!
Sayfa 1
Yukarı Çık :)
Gitmek istediğiniz yer:  


Benzer Konular
Konu Başlığı Başlatan Yanıtlar Görüntü Son Mesaj
Sevgililer Menüsü « 1 2 »
Komik Resimler
By.MuraT 11 3260 Son Mesaj Şubat 24, 2012, 10:53:42 ÖÖ
Gönderen : eku
Berceste Recordz - Sistem Çöktü [sistem Clan Diss]
Rap Mp3
By.CeZa 3 1668 Son Mesaj Şubat 28, 2014, 10:43:17 ÖS
Gönderen : dwn07
Multiboot Menüsü V2 [x86-x64] Tr
J K L M N
rupi 0 918 Son Mesaj Nisan 22, 2012, 12:20:56 ÖS
Gönderen : rupi
Lokanta Yemek Menüsü Ve Fiyat Şablonu
Photoshop
xxmolinaxx 0 974 Son Mesaj Eylül 09, 2014, 07:29:27 ÖS
Gönderen : xxmolinaxx
11 - 12 Aylık Bebek Beslenme Menüsü
Bebek Yemekleri
SaviorAngel 0 601 Son Mesaj Aralık 17, 2015, 04:19:11 ÖÖ
Gönderen : SaviorAngel


Theme: WeBCaNaVaRi 2011 Copyright 2011 Simple Machines SiteMap | Arsiv | Wap | imode | Konular