İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Formumu resize ederken genişlik/yükseklik oranı hep 4/3 ols

K

kahkaha

Misafir
Pencerenin hep belli oranlarda büyüyüp küçülmesi için ne yapmalıyım?
 
G

gorkempacaci

Misafir
Option Explicit
Dim sonGEN As Long
Dim sonYUK As Long
Dim genFARK As Double
Dim yukFARK As Double
Private Sub Form_Initialize()
sonGEN = Me.Width
sonYUK = Me.Height
End Sub
Private Sub Form_Resize()
'ilk initialize'de resize çalıştırılacak. aman bir hata oluşmasın.
If sonGEN = 0 Or sonYUK = 0 Then Exit Sub
'eğer sadece yükseklik değiştiyse
If sonGEN = Me.Width And sonYUK <> Me.Height Then
Me.Width = Me.Height * 4 / 3
GoTo SON
End If
'eğer sadece genişlik değiştiyse
If sonGEN <> Me.Width And sonYUK = Me.Height Then
Me.Height = Me.Width * 3 / 4
GoTo SON
End If
'eğer yüseklik ve genişlik değiştiyse
If sonGEN <> Me.Width And sonYUK <> Me.Height Then
'genişlikteki ve yükseklikteki farkların eskilerine oranlarını bul ve fazlaca değişene göre formu boyutlandır.
genFARK = Abs(sonGEN - Me.Width) / sonGEN
yukFARK = Abs(sonYUK - Me.Height) / sonYUK
'eğer genişlikteki değişim büyükse...
If genFARK > yukFARK Then
Me.Height = Me.Width / 4 * 3
End If
'eğer yükseklikteki değişim büyükse...
If yukFARK > genFARK Then
Me.Width = Me.Height / 3 * 4
End If
'NOT: eğer değişimlerin birbirlerine üstünlükleri yoksa zaten form eşit oranda büyütülmüştür.
End If
'daha sonra değişiklik var mı anlamak için
SON:
sonGEN = Me.Width
sonYUK = Me.Height
End Sub
 
K

kahkaha

Misafir
abi çok sağol ya, uğraşıp yazmışın walla. daha denemediim ama çok sağol
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst