1 sayfadan 1. sayfa

VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen API

İletiTarih: 04 Arl 2008 14:47
Tarkan VURAL
Bu Apiler UserFormunuzun Görev çubuğunda gösterilmesini de sağlayacaksınız.

Bütün kodları ( en üste deklerasyonlar olmak üzere ) UserForm kod sayfasına ekleyin.

Kod: Tümünü seç
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function 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) As Long
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Const EVN_TASINMA = &H2 '
Private Const EVN_BOYUTLANMA = &H1 '
Private Const EVN_STIL = (-20) '
Private Const EVN_UST = 0 '
Private Const EVN_AKTIFDEGIL = &H10 '
Private Const EVN_GIZLE = &H80 '
Private Const EVN_GOSTER = &H40 '
Private Const EVN_PENCERE = &H40000 '
Private Const EVN_STILI = (-16) '
Private Const EVN_KUCULTBUTON = &H20000 '
Private Const EVN_BUYUTBUTON = &H10000 '
Private Const EVN_DEGIS = &H20 '
Dim hWnd As Long, WSTILI As Long, SONUC As Long


Kod: Tümünü seç
Function KucultButonuEkle() As Long
    hWnd = GetActiveWindow
    Call SetWindowLong(hWnd, EVN_STILI, _
        GetWindowLong(hWnd, EVN_STILI) Or EVN_KUCULTBUTON)
    Call SetWindowPos(hWnd, 0, 0, 0, 0, 0, _
        EVN_DEGIS Or EVN_TASINMA Or EVN_BOYUTLANMA)
End Function


Kod: Tümünü seç
Function BuyutButonuEkle() As Long
    hWnd = GetActiveWindow
    Call SetWindowLong(hWnd, EVN_STILI, _
        GetWindowLong(hWnd, EVN_STILI) Or EVN_BUYUTBUTON)
    Call SetWindowPos(hWnd, 0, 0, 0, 0, 0, _
        EVN_DEGIS Or EVN_TASINMA Or EVN_BOYUTLANMA)
End Function


Kod: Tümünü seç
Function GorevCubugundaGoster(Formum) As Long
    hWnd = FindWindow(vbNullString, Formum.Caption)
    WSTILI = GetWindowLong(hWnd, EVN_STIL)
    WSTILI = WSTILI Or EVN_PENCERE
    SONUC = SetWindowPos(hWnd, EVN_UST, 0, 0, 0, 0, _
        EVN_TASINMA Or EVN_BOYUTLANMA Or EVN_AKTIFDEGIL Or EVN_GIZLE)
        SONUC = SetWindowLong(hWnd, EVN_STIL, WSTILI)
        SONUC = SetWindowPos(hWnd, EVN_UST, 0, 0, 0, 0, _
        EVN_TASINMA Or EVN_BOYUTLANMA Or EVN_AKTIFDEGIL Or EVN_GOSTER)
End Function


Kod: Tümünü seç
Private Sub UserForm_Activate()
KucultButonuEkle
BuyutButonuEkle
Call GorevCubugundaGoster(Me)
End Sub

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 26 Ağu 2011 00:40
zfr10
Selamlar tarkan bey minimize olyını sayfa ilk açılışta ekranı kaplamasını istiyorum yardımcı olur musunuz

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 26 Ağu 2011 01:02
Tarkan VURAL
Minimize olayı ayrı bir şey. Mi,nimize küçült butonu ekler. Sayfayı kaplaması için açılışta kullanılması gereken kod daha farklı bir şey. Açılışta Thisworkbook kod sayfasında Workbook_open olayına önce application.DisplayFullScreen=True yazarsınız ve Excel tam ekran olur. Sonra UserForm1.width = Application.width, UserForm1.height = application.height ile form büyüklüğünü tam ekran olan Excel programının büyüklüğüne eşitlersiniz.

Kod: Tümünü seç
Sub Workbook_Open
application.DisplayFullScreen=True
UserForm1.width = Application.width
UserForm1.height = application.height
End sub


Ayrıca lütfen özel isimlerin baş harfini büyük yazınız. [evet]

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 26 Ağu 2011 13:31
zfr10
Alakanız için teşekkür ederim.Kusura bakmayın bir dahakine küçük yazmam.

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 18 Haz 2014 16:11
hakilkan
Merhabalar vermiş olduğunuz bu kodları yapmış olduğum program içerisinde kullanıyorum, fakat yapmış olduğum userform'un arka tarafında saklamış olan bir yığın textboxlar var. userformu büyük konuma getirdiğim anda arkada saklamış olduğum textboxlar ortaya çıkıyor. Benim istemiş olduğum görünümdeki alanı büyütüp küçültsün.

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 18 Haz 2014 16:23
Tarkan VURAL
Saklanan nesnelerin visible özelliklerine false değeri verirseniz görünmezler.

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 18 Haz 2014 16:27
hakilkan
Onu yaptım benim textboxlar ortada kalıyor yan tarafında büyük bir boş alan çıkıyor. Sorun bizim şirkette büyük ekran üzerinde çalışan arkadaşların olması büyük ekran olduğu için textboxlar yan tarafta boşta duruyor büyütme seçeneğinde textboxlarıda büyütme imkanı olabilirmi.

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 18 Haz 2014 17:14
Tarkan VURAL
Bu konuda Userformu büyütüp küçültme işlemi yapan kodlar var. Sizin istediğiniz işlem bu konu ile alakalı değil.

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 09 Arl 2019 13:08
hmg
Tarkan bey merhaba; vermiş olduğunuz kod'ları userform'da kullandım, min ve max boylar gayet güzel çalışıyor, ancak userform'da bulunan resim maalesef tam boy olmuyor o aynı kalıyor! bu sorun nasıl çözümlenir acaba?

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 13 Oca 2020 11:49
dycbyrm
Merhaba Tarkan Bey. Yazmış olduğunuz kodlar için öncelikle teşekkürler.
Kodların şu kısmını
Kod: Tümünü seç
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function 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) As Long
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

uygulamaya çalıştığımda hata alıyorum.
Hatayı ekledim. Bu hatadan kurtulmak için ne yapmalıyım ?
Şimdiden yardımınız için teşekkürler.

Cevap: VBA UserForm Üzerine Küçült Büyüt Butonları Ekleyen A

İletiTarih: 21 Oca 2020 09:57
Tarkan VURAL
Merhaba,
64bit API deklerasyonu için sitemizde arama yapınız. 64bit anahtar kelimesini kullanabilirsiniz.