API ile ProgressBar' a Bir Örnek

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

API ile ProgressBar' a Bir Örnek

İleti#1)  Murat OSMA » 15 Eyl 2009 01:11

Yararlı olması dileğiyle.

UserForm kısmına;
Kod: Tümünü seç
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function CreateWindowEX Lib "user32" _
Alias "CreateWindowExA" (ByVal dwExStyle As Long, _
ByVal lpClassName As String, ByVal lpWindowName As String, _
ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hWndParent As Long, ByVal hMenu As Long, _
ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" _
(ByVal hwnd As Long) 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 Sub CommandButton1_Click()
Me.CommandButton1.Enabled = False
Me.Repaint
Dim y&, W&, mehWnd&, pbhWnd&, i&
mehWnd = FindWindow(vbNullString, Me.Caption)
W = Me.InsideWidth * 4 / 3
y = (Me.InsideHeight - 15) * 4 / 3
pbhWnd = CreateWindowEX(0, "msctls_progress32", "" _
, &H50000000, 0, y, W, 20, mehWnd, 0&, 0, 0&)
SendMessage pbhWnd, &H409, 0, ByVal RGB(0, 125, 0)
For i = 1 To 10000
Label1.Caption = Format(Int((i / 10000) * 100), "%0")
DoEvents
SendMessage pbhWnd, &H402, CInt(100 * i / 10000), 0
Next i
DestroyWindow pbhWnd
Me.CommandButton1.Enabled = True
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
En son Murat OSMA tarafından, 15 Eyl 2009 14:06 tarihinde değiştirildi, toplamda 1 değişiklik yapıldı.
Sebep: Başlık Düzeltildi.
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 05 Arl 2008 00:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 33
İleti: 14301
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: ProgressBar' a Bir Örnek

İleti#2)  Tarkan VURAL » 15 Eyl 2009 02:00

API' lerle güzel bir örnek Murat, teşekkür ediyorum. şkşk --)(
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ş: 44
İleti: 26715
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap

İleti#3)  muraterik » 15 Eyl 2009 02:01

EXCELİ Tam Bilmeyen Arkadaşlar İçin; Yazdığınız Formülün Ne Olduğunu, Daha açıklayıcı Olsaydı Daha Faydalı Bir Bilgi Olurdu Diye Düşünüyorum ÖNERİ VE ÖZELEŞTİRİM İÇİN ÖZÜR DİLERİM.Haksız Değilimdir UMARIM.
Kullanıcı avatarı
muraterik
 
Adı Soyadı:murat erik
Kayıt: 11 Eyl 2009 01:56
İleti: 9
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: sakarya/karasu

Cevap: ProgressBar' a Bir Örnek

İleti#4)  Tarkan VURAL » 15 Eyl 2009 02:18

Murat bey elbette eleştiri yapabilirsiniz. Ama önce bizim eleştirdiğimiz yazım kuralları uyumluluğuna dikkat ediniz.
Yazımlarınızda Türkçe' yi böyle kullanmaya devam ederseniz, iletilerinizi çöpe taşımanın yanı sıra sizi bir süreliğine uzaklaştırmak zorunda kalacağız. Daha önce iki kez uyarıldınız. Lütfen iletilerinize dikkat ediniz. [evet]
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ş: 44
İleti: 26715
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

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

Cevap: ProgressBar' a Bir Örnek

İleti#5)  Murat OSMA » 15 Eyl 2009 02:39

Bir örnek daha hazırladım, yararlı olması dileğiyle.

Formumuzun üzerine 1 adet Frame, 1 Adet CommandButton ve 1 Adet ProgressBar ekleyin.
CommandButton1' i çift tıklayıp, aşağıdaki kodları yapıştırın.
Kaydet butonuna bastığınızda ProgressBar 100 e kadar dönecek ve Frame' in başlığında bunu göreceksiniz.
CommandButton ve Label' in BackColor ve Fore Color olayını kendiniz ayarlayabilirsiniz.
CommandButton' un mouse ile üzerine gelindiğinde aşağıda yazılan kodlar doğrultusunda BackColor ve Fore Color lar değişektir.


Kod: Tümünü seç
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 9000
ProgressBar1.Value = (i / 9000) * 100
Frame1.Caption = Format(Int((i / 9000) * 100), "%0")
DoEvents
CommandButton1.Caption = ""
CommandButton1.BackColor = vbWhite
Label2.ForeColor = vbBlue
CommandButton1.Caption = "OK"
Label2.BackColor = vbWhite
CommandButton1.ForeColor = vbBlue
Next i
End Sub

Private Sub UserForm_Initialize()
ProgressBar1.Max = 100
ProgressBar1.Min = 0
CommandButton1.Tag = CommandButton1.BackColor
CommandButton1.Tag = CommandButton1.ForeColor
End Sub

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Label2.ForeColor = vbBlue
Label2.BackColor = vbWhite
CommandButton1.BackColor = vbWhite
CommandButton1.ForeColor = vbBlue
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton1.BackColor = CommandButton1.Tag
CommandButton1.ForeColor = CommandButton1.Tag
End Sub


Progressin ilk hali
Resim
Butonun üzerine gelindiğindeki hali
Resim
Mouse un butondan çekildiği zamanki hali
Resim
Kaydet butonuna basıldığı an
Resim
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 05 Arl 2008 00:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 33
İleti: 14301
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: ProgressBar' a Bir Örnek

İleti#6)  Murat OSMA » 15 Eyl 2009 02:49

Rica ederim Tarkan bey, [TESEKKÜR]

Murat bey merhaba, biz bütün üyelerimizin öneri, görüş ve öz eleştirilerine her zaman açığız. Şahsen bu beni de çok mutlu eder. Tabiiki haksız değilsiniz, vakit dar olduğu için açıklamayı sabah yazarım düşüncesindeydim.
Bu arada Tarkan bey' in uyarısını lütfen dikkate alınız :!:
Hayırlı sahurlar Murat bey.

Teşekkürler
MuratOSMA
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 05 Arl 2008 00:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 33
İleti: 14301
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: ProgressBar' a Bir Örnek

İleti#7)  Erhan Yavuz » 15 Eyl 2009 10:44

Murat çok iki örnek teşekkürler... Arşivimiz genişliyor sayende...
☾✭ 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: 5696
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Etiler

Cevap: ProgressBar' a Bir Örnek

İleti#8)  rECEPX » 15 Eyl 2009 11:33

Merhabalar Murat bey. İlk örneğinizi hazırlamakta olduğum formuma uyarladım, güzel de oldu, Çok teşekkürler.
Kullanıcı avatarı
rECEPX
Siteye Alışmış
 
Adı Soyadı:Recep Şentürk
Kayıt: 12 Şub 2009 15:02
Konum: İstanbul
Meslek: Bilgi İşlem
Yaş: 48
İleti: 340
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: G.o.paşa

Cevap: ProgressBar' a Bir Örnek

İleti#9)  Murat OSMA » 15 Eyl 2009 13:20

Bir şeyler yapmaya çalışıyorum Erhan bey ;)
Rica ederim Recep bey, beğenmenize sevindim. :)
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 05 Arl 2008 00:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 33
İleti: 14301
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: API ile ProgressBar' a Bir Örnek

İleti#10)  umitylcn » 23 Arl 2009 16:24

Bu konu hakkında bir sorun olacak. Progressbar'ı makro aralarında nasıl kullanabilirim. Yani makro işlem yaparken %0 rapor başlatılıyor, %10 X verileri hazırlanıyor, %35 x verileri hazırlandı... gibi.
Kullanıcı avatarı
umitylcn
 
Adı Soyadı:ÜMİT YALÇIN
Kayıt: 09 Haz 2009 17:41
İleti: 2
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL

Cevap: API ile ProgressBar' a Bir Örnek

İleti#11)  Tarkan VURAL » 14 May 2011 01:18

umitylcn yazdı:Bu konu hakkında bir sorun olacak. Progressbar'ı makro aralarında nasıl kullanabilirim. Yani makro işlem yaparken %0 rapor başlatılıyor, %10 X verileri hazırlanıyor, %35 x verileri hazırlandı... gibi.

Çalışmanızdaki döngülerin gideceği döngü uzunlukları ile doğru orantılıdır. Bir işlemin başlayıp bitmesi 3 ile 48 arası ise, burada anılan 3 sayısı ProgressBar nesnesinin başlangıç değeri yani sıfır'a, 48 sayısı da bitiş sayısı yani 100 ( yüz) 'e eşitlenmeli. Örneğinizi görme şansımız olursa ne şekilde adapte edileceğini daha iyi anlatabiliriz. Bu arada DoEvents komutunu da kullanmak gerekebilir. Bilginize.


Son güncel tutan Murat OSMA, 14 May 2011 01:18.
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ş: 44
İleti: 26715
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü


Forum Excel ve API

Online Kullanıcılar

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

Bumerang - Yazarkafe