Görev Çubuğunda UserForm Görünmesi için API

API - Application Programming Interface
Yazılım Programlama Arayüz Uygulaması

Görev Çubuğunda UserForm Görünmesi için API

İleti#1)  Tarkan VURAL » 20 Ağu 2008 23:57

Bu API UserFormu Excel gizli iken görev çubuğunda gösteriyor, aynı visual basic formları gibi, aynı zamanda form başlığına küçültme simgesi ve icon ekliyor.

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 SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const GWL_EXSTYLE = (-20)
Private Const HWND_TOP = 0
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40
Private Const WS_EX_APPWINDOW = &H40000
Private Const GWL_STYLE = (-16)
Private Const WS_MINIMIZEBOX = &H20000
Private Const SWP_FRAMECHANGED = &H20
Private Const WM_SETICON = &H80
Private Const ICON_SMALL = 0&
Private Const ICON_BIG = 1&
Dim hWnd As Long, lngRet As Long, hIcon As Long, WStyle As Long, Result As Long


Kod: Tümünü seç
Private Sub UserForm_Activate()
IconEkle
KucultButonuEkle
GorevCubugundaGoster Me
Application.Visible = False
End Sub


Kod: Tümünü seç
Private Sub IconEkle()
    hIcon = UserForm1.Image1.Picture.Handle ' userform üzerindeki resimden icon alıyor, resim yolunu değiştirebilirsiniz
    hWnd = FindWindow(vbNullString, Me.Caption)
    lngRet = SendMessage(hWnd, WM_SETICON, ICON_SMALL, ByVal hIcon)
    lngRet = SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hIcon)
    lngRet = DrawMenuBar(hWnd)
End Sub


Kod: Tümünü seç
Private Sub KucultButonuEkle()
    hWnd = GetActiveWindow
    Call SetWindowLong(hWnd, GWL_STYLE, _
        GetWindowLong(hWnd, GWL_STYLE) Or WS_MINIMIZEBOX)
    Call SetWindowPos(hWnd, 0, 0, 0, 0, 0, _
        SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE)
End Sub


Kod: Tümünü seç
Private Sub GorevCubugundaGoster(myForm)
    hWnd = FindWindow(vbNullString, myForm.Caption)
    WStyle = GetWindowLong(hWnd, GWL_EXSTYLE)
    WStyle = WStyle Or WS_EX_APPWINDOW
    Result = SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, _
        SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE Or SWP_HIDEWINDOW)
        Result = SetWindowLong(hWnd, GWL_EXSTYLE, WStyle)
        Result = SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, _
        SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE Or SWP_SHOWWINDOW)
End Sub


Kod: Tümünü seç
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Application.Visible = True
End Sub


Saygılar;
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26840
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#2)  mustim1547 » 05 Ekm 2009 12:28

Tarkan Bey paylaşımınız harika . Simge durumunda küçült ve alta al .Sizden ricam birde ekranı kapla menüsünü ekleyebilirseniz,hem ben hem de tüm http://www.excelvba.net üyeleri için çok yararlı bi makale olacak.
Kullanıcı avatarı
mustim1547
Yeni Başlamış
 
Adı Soyadı:murat baş
Kayıt: 14 May 2009 12:23
Konum: konmayım
Meslek: sigorta acentesi
Yaş: 41
İleti: 38
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: maraş

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#3)  Tarkan VURAL » 05 Ekm 2009 12:38

Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26840
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#4)  mustim1547 » 05 Ekm 2009 12:43

Çok teşekkür ederim. [TESEKKÜR]
Kullanıcı avatarı
mustim1547
Yeni Başlamış
 
Adı Soyadı:murat baş
Kayıt: 14 May 2009 12:23
Konum: konmayım
Meslek: sigorta acentesi
Yaş: 41
İleti: 38
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: maraş

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#5)  competan » 19 Şub 2012 01:02

bu kodu yeni görüyorum.
her zamanki gibi yine teşekkürler tarkan bey.
Kullanıcı avatarı
competan
Yeni Başlamış
 
Adı Soyadı:selami yeksan
Kayıt: 28 Ekm 2009 23:48
Konum: istanbul
Meslek: banka
Yaş: 56
İleti: 22
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: cebeci

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#6)  rfve » 13 Eyl 2012 11:27

Öncelikle emeğinize sağlık.

1- Kodları yeni form açarak deniyorum ancak ikon olarak benim yapıştırdığım resmi eklemiyor.
Resim olarak farklı bir format mı kullanmak gerek acaba ?

2- İkinci sorum olarak tüm excelleri gizlemek yerine sadece program excelini gizlemek olabilirmi?
Program açık olduğu zamanda da diğer exceller ile çalışmak istiyorum. Bu duruma bir çözüm varmıdır ?
Yoksa illaki visual basic ile falan kodlamak mı gerek ?

Şimdiden [TESEKKÜR]

---
Yeni bir durum fark ettim. Çalışan örnekte resim ekleme kısmında " Icon " yazıyor.
Fakat ben aynı iamge kısmından değiştirip yeni resim yüklediğimde " Bitmap" Yazıyor. aşağıda görselleri ekliyorum.
Sorun bundan kaynaklı olabilirmi acaba? Icon olarak yüklemek nasıl oluyor ?
.gif .jpg Yükledim. yine bitmap yazıyor.
.ico .png ise yüklenmiyor.

icon yazan orjinal resim
Resim

benim resmi değiştirdiğim bitmap yazan resim
Resim
Kullanıcı avatarı
rfve
Yeni Başlamış
 
Adı Soyadı:arda turker
Kayıt: 22 Ekm 2010 16:59
Konum: istanbul
Meslek: serbest
Yaş: 30
İleti: 44
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#7)  rfve » 13 Eyl 2012 16:02

Arkadaşlar sorunu çözdüm gibi.
Oraya .ico olarak eklemek gerekiyor. ama 256 k renk derinliğinde olanları kabul ediyor sadece.
Benim gibi bu sorunu yaşayanlar bu şekilde deneyebilirler. --)(
Kullanıcı avatarı
rfve
Yeni Başlamış
 
Adı Soyadı:arda turker
Kayıt: 22 Ekm 2010 16:59
Konum: istanbul
Meslek: serbest
Yaş: 30
İleti: 44
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#8)  ajan83 » 27 Nis 2014 02:00

İlk kod grubunu thisworkbook kısmına mı ekliyoruz?
Kullanıcı avatarı
ajan83
Siteye Alışmış
 
Adı Soyadı:Acun CAN
Kayıt: 04 Nis 2014 15:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 35
İleti: 119
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İZMİR / KARŞIYAKA

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#9)  Tarkan VURAL » 27 Nis 2014 13:20

Kodların tamamını UserForm kod sayfasına yazabilirsiniz. İlk iletiye inceleyebilmeniz için bir örnek ekledim.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26840
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#10)  Enes Recep BAĞ » 27 Nis 2014 20:17

Güzel bir örnek olmuş. [TESEKKÜR]
Kullanıcı avatarı
Enes Recep BAĞ
Forum Moderatörü
 
Adı Soyadı:Enes Recep BAĞ
Kayıt: 30 Ağu 2010 17:39
Konum: 0 549 808 82 66
Meslek: Bilgi işlem
Yaş: 36
İleti: 8247
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aksaray / Merkez

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#11)  Erhan Yavuz » 27 Nis 2014 23:28

Evet güzel bir örnek teşekkürler kardeşim.. şkşk
☾✭ Türkçemizi tam ve doğru kullanmaktan korkmayalım..
Teşekkür etmek Erdemdir. ECYavuz


OSMANLI OYUNU (1402-1566)
http://www.excelvba.net/viewtopic.php?f=41&t=9984

EXCEL-VBA KOD BANKASI PRO.7.0
http://www.excelvba.net/viewtopic.php?f=38&t=3304
Resim
Kullanıcı avatarı
Erhan Yavuz
Site Forum Yöneticisi
 
Adı Soyadı:Erhan Yavuz
Kayıt: 15 Haz 2008 02:13
Konum: Etiler / İstanbul
Meslek: Emekli Sb.
Yaş: 59
İleti: 5695
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Etiler

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#12)  Ozan İLGÜN » 27 Nis 2014 23:34

UserForm kullananların çok aradığı kodlardan biri daha. Teşekkürler Tarkan Bey.
ozan.ilgun@boun.edu.tr

Resim
Kullanıcı avatarı
Ozan İLGÜN
Forum Moderatörü
 
Adı Soyadı:Ozan İlgün
Kayıt: 20 Şub 2013 14:43
Konum: İst. Maltepe
Meslek: Arşivist
Yaş: 32
İleti: 2666
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul



Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#13)  ajan83 » 28 Nis 2014 18:35

Sol üst köşedeki minik ikona tıklayınca userformdan çıkış yapıyor.
Bunu nasıl engelleyebiliriz?
Hiç ikon eklemesek de olur mu?
Kullanıcı avatarı
ajan83
Siteye Alışmış
 
Adı Soyadı:Acun CAN
Kayıt: 04 Nis 2014 15:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 35
İleti: 119
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İZMİR / KARŞIYAKA

Cevap: Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#14)  Enes Recep BAĞ » 28 Nis 2014 20:01

ajan83 yazdı:Sol üst köşedeki minik ikona tıklayınca userformdan çıkış yapıyor.
Bunu nasıl engelleyebiliriz?
Hiç ikon eklemesek de olur mu?

UserForm_Activate kodlarınızı aşağıdaki gibi güncelleyin.
Kod: Tümünü seç
Private Sub UserForm_Activate()
'IconEkle
KucultButonuEkle
GorevCubugundaGoster Me
Application.Visible = False
End Sub
Kullanıcı avatarı
Enes Recep BAĞ
Forum Moderatörü
 
Adı Soyadı:Enes Recep BAĞ
Kayıt: 30 Ağu 2010 17:39
Konum: 0 549 808 82 66
Meslek: Bilgi işlem
Yaş: 36
İleti: 8247
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aksaray / Merkez

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#15)  ajan83 » 30 May 2014 17:36

Merhaba,

Görev çubuğunda excel iconu yerine kendi tasarladığımız iconun gözükmesi mümkün müdür?
Kullanıcı avatarı
ajan83
Siteye Alışmış
 
Adı Soyadı:Acun CAN
Kayıt: 04 Nis 2014 15:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 35
İleti: 119
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İZMİR / KARŞIYAKA

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#16)  Tarkan VURAL » 30 May 2014 18:35

Sorduğunuz sorunun yanıtı burada zaten var. :shock:

#1, #6 ve #7 numaralı iletileri yeniden inceleyiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26840
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#17)  ajan83 » 02 Haz 2014 12:58

Tarkan VURAL yazdı:Sorduğunuz sorunun yanıtı burada zaten var. :shock:

#1, #6 ve #7 numaralı iletileri yeniden inceleyiniz.


Sanırım yanlış anlaşıldı.

Formun sol üst köşesindeki icon ile ilgili bu iletiler.

Benim sorum görev çubuğundaki simge ile ilgili.
Kullanıcı avatarı
ajan83
Siteye Alışmış
 
Adı Soyadı:Acun CAN
Kayıt: 04 Nis 2014 15:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 35
İleti: 119
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İZMİR / KARŞIYAKA

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#18)  Tarkan VURAL » 02 Haz 2014 13:05

Bu konu hakkında bilgi veremiyorum. Araştırma yapmak gerek. [ilginc]
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26840
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#19)  Tarkan VURAL » 02 Haz 2014 13:16

Biraz araştırdım, Ivan amca bir şeyler yazmış.

Kod: Tümünü seç
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 ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( _
ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long

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 DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long

Private Declare Function FindWindowA Lib "user32" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Const WM_SETICON = &H80
Private Const ICON_SMALL = 0&
Private Const ICON_BIG = 1&
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE As Long = (-16)
Private Const WS_EX_APPWINDOW = &H40000
Private Const WS_SYSMENU As Long = &H80000
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000

Dim lFrmWndHdl As Long
Dim lStyle As Long
Dim hIcon As Long

Private Sub UserForm_Activate()
lFrmWndHdl = FindWindowA(vbNullString, Me.Caption)
lStyle = GetWindowLong(lFrmWndHdl, GWL_STYLE)
lStyle = lStyle Or WS_SYSMENU
lStyle = lStyle Or WS_MINIMIZEBOX
SetWindowLong lFrmWndHdl, GWL_STYLE, (lStyle)
lStyle = GetWindowLong(lFrmWndHdl, GWL_EXSTYLE)
lStyle = lStyle Or WS_EX_APPWINDOW
SetWindowLong lFrmWndHdl, GWL_EXSTYLE, lStyle
hIcon = Image1.Picture.Handle
Call SendMessage(lFrmWndHdl, WM_SETICON, ICON_SMALL, ByVal hIcon)
Call SendMessage(lFrmWndHdl, WM_SETICON, ICON_BIG, ByVal hIcon)
DrawMenuBar lFrmWndHdl
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26840
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Görev Çubuğunda UserForm Görünmesi için API

İleti#20)  ajan83 » 02 Haz 2014 20:06

Elinize sağlık.
Kullanıcı avatarı
ajan83
Siteye Alışmış
 
Adı Soyadı:Acun CAN
Kayıt: 04 Nis 2014 15:07
Konum: İZMİR
Meslek: SİGORTA
Yaş: 35
İleti: 119
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İZMİR / KARŞIYAKA

Sonraki

Forum Excel ve API

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

cron
Bumerang - Yazarkafe