ekran çözünürlügü

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Merhaba arkadaşlar,
Ben userformu ekran çözünürlüğüne göre ayarlamak istiyorum,
ve üzerindeki textbox, combobox, listbox ve commantbutton larda aynı oranda büyüsün küçülsün istemiştim,
ama userform ekrana göre büyüyor digerleri formun sol üst köşesinde kalıyor,
bunu nasıl yapabilirim yardımcı olacak arkadaşlara,
şimdiden teşekkürler...
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Bir ara da aşağıdaki kodları denersiniz.

Bu kodlar UserForm modulüne yazılacak olup, kodlardaki X1 = 800 ve Y1 = 600 satırlarında 800 ve 600 değerleri yerine (eğer değişik ise), UserForm'u hazırladığınız sizin bilgisayardaki ekran çözünürlük değerlerini girmeniz gerekmektedir.

Kod:
Private Declare Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" _
(ByVal nIndex As Long) As Long
'
Private Sub UserForm_Initialize()
Dim X1 As Long, Y1 As Long, Y2 As Long, X2 As Long
Dim CX As Double, CY As Double
Dim MyCtrl As Control
X1 = [B][COLOR=red]800[/COLOR][/B]
Y1 = [B][COLOR=red]600[/COLOR][/B]
X2 = GetSystemMetrics32(0)
Y2 = GetSystemMetrics32(1)
CX = X2 / X1
CY = Y2 / Y1
Me.Width = Me.Width * CX
Me.Height = Me.Height * CY
For Each MyCtrl In Me.Controls
MyCtrl.Top = MyCtrl.Top * CY
MyCtrl.Left = MyCtrl.Left * CX
MyCtrl.Width = MyCtrl.Width * CX
MyCtrl.Height = MyCtrl.Height * CY
On Error Resume Next
MyCtrl.Font.Size = MyCtrl.Font.Size * CY
On Error GoTo 0
Next
End Sub
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Merhaba arkadaşlar,
ilginiz için çok çok teşekkürler,
Sayın raider yazmış olduğunuz kodu malesef çalıştıramadım.
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
hiç birşey olmuyor
kodun ha varlığı ha yoklugu
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
kodun ha varlığı ha yoklugu

Kadir bey, bir konuda anlaşalım önce...

Bu kodlar UserForm modulüne yazılacak olup, kodlardaki X1 = 800 ve Y1 = 600 satırlarında 800 ve 600 değerleri yerine (eğer değişik ise), UserForm'u hazırladığınız sizin bilgisayardaki ekran çözünürlük değerlerini girmeniz gerekmektedir.

Yukarıda bahsettiğim gibi, UserForm'u hazırladığınız bilgisayardaki ekran çözünürlüklerini yukarıdaki koda girmeniz gerekir.

Benim, sizin son mesajınızdan anladığım kadarıyla şu andaki ekran çözünürlüğünüz 800 X 600 . Bu nedenle, herhangibir değişiklik olması mümkün değil.

Eğer, çözünürlüğü 1024 X 768 olan bir bilgisayarda yukarıdaki kodu denerseniz, UserForm'un görüntüsünde değişiklik olması gerekir.

Unutmayın...... kodları hazırladığınız bilgisayardaki ekran çözünürlük değerlerini bir kereye mahsus olarak yukarıdaki koda gireceksiniz. Daha sonra, ekran çözünürlüğü değişik olan başka bir bilgisayarda deneyin veya kendi ekran çözünürlüğünüzü değiştirip, tekrar deneyin.
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Sayın Raider çok özür diliyerek söylüyorum,
bu kodu denedinizmi,
Ekran çözünürlüğünü 800 x 600 de yaptım aynı ,
Kodun ilgili yarlarini degiştirip 1024 x 768 yaptım yine aynı "tın yok" hiç birşey olmuyor...
selamlar
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba Kadir bey;

bu kodu denedinizmi,
O satırları hazırlarken gayet tabii ki bazı denemeler yaptım.

Þimdi benim monitörün ekran çözünürlüğü şu anda 1024 X 768.

Yukarıdaki kodu da X1 = 800 ve Y1 = 600 olarak kullanıyorum ve UserForm' daki değişikliği gözlemleyebiliyorum.

Bu konuda başka bir üyemizin mesajı da olmadığına göre, sizi veya beni haklı gösterecek herhangibir bulgu şu ana kadar yok. :mrgreen:

Belki de, sizin diğer başka kodlarınız problem çıkartıyor olabilir...... onu da benim buradan görmem mümkün değil.

Kolay gelsin...
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
merhaba sayın raider,
Size örnek çalışmamı gönderiyorum,
kodları bir kontrol edermisiniz gözümden kaçan ne imiş çok merak
ettim doğrusu.
Birde bilgisayarın ekran çözünürlüğünü kendisi alğılayıp ona göre
düzenleme yapamazmı , böyle bir kod veya api yokmu acaba...
Sayğılar...
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tekrar merhaba Kadir bey;

Gönderdiğiniz dosyayı indirdim.

1) Benim bilgisayarımda ekaran çözünürlükleri 800 X 600

2) Ã?rnek dosyadaki kodlar da X1 = 800 ve Y1 = 600

Bu durumda, dosyanın design (tasarım) aşamasında ve run (çalıştırılma) aşamasındaki UserForm resimleri aşağıdadır.

Yani, 800 X 600 çözünürlükte hazırlanan bir UserForm 1024 X 768 çözünürlükte bu şekilde görünmektedir.

Birde bilgisayarın ekran çözünürlüğünü kendisi alğılayıp ona göre
düzenleme yapamazmı , böyle bir kod veya api yokmu acaba...
Zaten hazırladığım kod bu işi yapmaktadır. Yani, UserForm'un hazırlandığı çözünürlüğü siz koda bir kereye mahsus olarak girdikten sonra, değişik çözünürlükteki bilgisayarlarda UserForm otomatik olarak, üzerindeki kontrollerle birlikte en, boy, yükseklik, font gibi özellikleri API ile güncellenmektedir.

Sizin yapmak istediğiniz, bundan daha değişik nedir acaba ???
 

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Sayın raider çok afedersiniz,
Sizin kodunuzu şimdi anladım.

ben anlatmak istedigimi anlatamamışım,
Ben userformu 250x350 hazırlayıp bir buton vasıtasıyle userformun o anki ekran
çözünürlüğü ne ise maksimum o boyutlara büyümesini ve aynı orantılarla
userform üzerindeki diger textbox listbox vs.. lerinde büyümesini sorduğumu
sanıyordum , iletişim bozukluğu olmuş.
Çok özür dilerim.
Saygılar selamlar...
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba Kadir bey;

O zaman bir de şunu deneyin...

Kod:
Private Sub UserForm_Initialize()
Dim X1 As Long, Y1 As Long, Y2 As Long, X2 As Long
Dim CX As Double, CY As Double
Dim MyCtrl As Control
X1 = Application.Width
Y1 = Application.Height
X2 = Me.Width
Y2 = Me.Height
CX = X1 / X2
CY = Y1 / Y2
Me.Width = X1
Me.Height = Y1
For Each MyCtrl In Me.Controls
MyCtrl.Top = MyCtrl.Top * CY
MyCtrl.Left = MyCtrl.Left * CX
MyCtrl.Width = MyCtrl.Width * CX
MyCtrl.Height = MyCtrl.Height * CY
On Error Resume Next
MyCtrl.Font.Size = MyCtrl.Font.Size * CY
On Error GoTo 0
Next
End Sub
 
Moderatör tarafında düzenlendi:

akd

Destek Ekibi
Destek Ekibi
Katılım
14 Ağustos 2004
Mesajlar
1,114
Excel Vers. ve Dili
2003
Merhaba Sayın raider,
Valla harikasınız, muhteşemsiniz...
Çok çok teşekkürler,
Herşey gönlünüzce olsun,
Selamlar...
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Katılım
17 Şubat 2008
Mesajlar
95
Excel Vers. ve Dili
excel xp tr
ekran çözünürlüğü hakkında

Merhaba arkadaşlar

Sn. Haluk Bey ekran çözünürlüğü ayarlama ile ilgili konuda kod örneği vermiş.

Kod:
Private Sub UserForm_Initialize()[/COLOR]
[COLOR=red]Dim X1 As Long, Y1 As Long, Y2 As Long, X2 As Long[/COLOR]
[COLOR=red]Dim CX As Double, CY As Double[/COLOR]
[COLOR=red]Dim MyCtrl As Control[/COLOR]
[COLOR=red]X1 = Application.Width[/COLOR]
[COLOR=red]Y1 = Application.Height[/COLOR]
[COLOR=red]X2 = Me.Width[/COLOR]
[COLOR=red]Y2 = Me.Height[/COLOR]
[COLOR=red]CX = X1 / X2[/COLOR]
[COLOR=red]CY = Y1 / Y2[/COLOR]
[COLOR=red]Me.Width = X1[/COLOR]
[COLOR=red]Me.Height = Y1[/COLOR]
[COLOR=red]For Each MyCtrl In Me.Controls[/COLOR]
[COLOR=red]MyCtrl.Top = MyCtrl.Top * CY[/COLOR]
[COLOR=red]MyCtrl.Left = MyCtrl.Left * CX[/COLOR]
[COLOR=red]MyCtrl.Width = MyCtrl.Width * CX[/COLOR]
[COLOR=red]MyCtrl.Height = MyCtrl.Height * CY[/COLOR]
[COLOR=red]On Error Resume Next[/COLOR]
[COLOR=red]MyCtrl.Font.Size = MyCtrl.Font.Size * CY[/COLOR]
[COLOR=red]On Error GoTo 0[/COLOR]
[COLOR=red]Next[/COLOR]
[COLOR=red]End Sub[/COLOR]
[COLOR=red]
Fakat ben bunu nasıl çalıştıracağımı anlayamadım.

yardımcı olabilirseniz sevinirim.

çok teşekkürler

kolay gelsin
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba arkadaşlar

Sn. Haluk Bey ekran çözünürlüğü ayarlama ile ilgili konuda kod örneği vermiş.

[vb:1:c36d7a0b56]Private Sub UserForm_Initialize()
Dim X1 As Long, Y1 As Long, Y2 As Long, X2 As Long
Dim CX As Double, CY As Double
Dim MyCtrl As Control
X1 = Application.Width
Y1 = Application.Height
X2 = Me.Width
Y2 = Me.Height
CX = X1 / X2
CY = Y1 / Y2
Me.Width = X1
Me.Height = Y1
For Each MyCtrl In Me.Controls
MyCtrl.Top = MyCtrl.Top * CY
MyCtrl.Left = MyCtrl.Left * CX
MyCtrl.Width = MyCtrl.Width * CX
MyCtrl.Height = MyCtrl.Height * CY
On Error Resume Next
MyCtrl.Font.Size = MyCtrl.Font.Size * CY
On Error GoTo 0
Next
End Sub
[/vb:1:c36d7a0b56]
Fakat ben bunu nasıl çalıştıracağımı anlayamadım.

yardımcı olabilirseniz sevinirim.

çok teşekkürler

kolay gelsin
kendi userformunuzun initialize koduna bu kodları eklerseniz çalışacaktır.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Haluk hocam ;
Bu kod benimde arşivimde var.
Paylaşımınıza teşekkür ederim.
 
Üst