04. september 2003 - 14:23
Der er
13 kommentarer og 1 løsning
resize af kontroller og forms
jeg skal ha lavet det så en af mine kontroller resizer med når man resizer ens form jeg har lavet det her som test men når jeg starter programmet så resizer den allerede min textbox så den fylder hele min form (måske endda mere?) koden kommer her: Private Sub Form_Load() chkHeight = Text1.Height chkWidth = Text1.Width frmStartHeight = frmMain.Height frmStartWidth = frmMain.Width End Sub Private Sub Form_Resize() If frmStartHeight = frmMain.Height And frmStartWidth = frmMain.Width Then 'do nada Else If frmStartHeight < frmMain.Height Then frmNewHeight = frmMain.Height - frmStartHeight Text1.Height = chkHeight + frmNewHeight chkHeight = Text1.Height frmNewWidth = frmMain.Width - frmStartWidth Text1.Width = chkWidth + frmNewWidth chkWidth = Text1.Width End If If frmStartHeight > frmMain.Height Then frmNewHeight = frmStartHeight - frmMain.Height Text1.Height = chkHeight - frmNewHeight chkHeight = Text1.Height frmNewWidth = frmStartWidth - frmMain.Width Text1.Width = chkWidth - frmNewWidth chkWidth = Text1.Width End If End If End Sub
Annonceindlæg fra Barco
04. september 2003 - 16:25
#1
jeg kiggede lige hurtig på din kode og lavede nogle ændringer Dim frmNewWidth As Long Dim frmNewHeight As Long Dim chkHeight As Long Dim chkWidth As Long Private Sub Form_Load() frmNewWidth = Me.Width frmNewHeight = Me.Height chkHeight = Text1.Height chkWidth = Text1.Width End Sub Private Sub Form_Resize() On Error Resume Next If frmNewHeight = frmMain.Height And frmNewWidth = frmMain.Width Then 'do nada Else If frmNewHeight < frmMain.Height Or frmNewWidth < frmMain.Width Then frmNewHeight = frmMain.Height - frmNewHeight Text1.Height = chkHeight + frmNewHeight chkHeight = Text1.Height frmNewWidth = frmMain.Width - frmNewWidth Text1.Width = chkWidth + frmNewWidth chkWidth = Text1.Width End If If frmNewHeight > frmMain.Height Or frmNewWidth > frmMain.Width Then frmNewHeight = frmNewHeight - frmMain.Height Text1.Height = chkHeight - frmNewHeight chkHeight = Text1.Height frmNewWidth = frmNewWidth - frmMain.Width Text1.Width = chkWidth - frmNewWidth chkWidth = Text1.Width End If End If frmNewWidth = Me.Width frmNewHeight = Me.Height
04. september 2003 - 16:27
#2
jeg kan bedre lide denne her den er ikke så dramatisk Dim x_scale As Single Dim y_scale As Single Dim frmNewWidth As Single Dim frmNewHeight As Single Private Sub Form_Load() frmNewWidth = ScaleWidth frmNewHeight = ScaleHeight End Sub Private Sub Form_Resize() On Error Resume Next If WindowState = vbMinimized Then Exit Sub x_scale = ScaleWidth / frmNewWidth y_scale = ScaleWidth / frmNewHeight Text1.Width = x_scale * Text1.Width Text1.Height = y_scale * Text1.Height frmNewWidth = ScaleWidth frmNewHeight = ScaleWidth end sub
04. september 2003 - 18:46
#3
Sidder lige og teste kommer snart med et svar
04. september 2003 - 18:48
#4
Skal det være til dig selv eller til flerer
08. september 2003 - 12:48
#5
hej lokespas det virker forholdsvist fint hehe hvis man resizer helt ned til mindste så sovser det for den men den skal egentlig heller ikke kunne blive mindre end den er når den starter hra du en ide til hvordan man gør det smart? og undskyld jeg var så langsom til at svare....
08. september 2003 - 14:31
#6
du kan sätte denne i Form_Load() frmStartWidth = Me.Width frmStartHeight = Me.Height og smide denne i Form_Resize() If frmStartWidth > Me.Width Then Me.Width = frmStartWidth If frmStartHeight > Me.Height Then Me.Height = frmStartHeight det hjälper lidt
08. september 2003 - 14:48
#7
hmm jeg synes ikke det låser den til en mindste størrelse?
08. september 2003 - 14:57
#8
"men den skal egentlig heller ikke kunne blive mindre end den er når den starter"
08. september 2003 - 14:57
#9
jamen det kan den godt selvom jeg tilføjer de ting der
08. september 2003 - 14:58
#10
da jeg mente mindste størrelse så var det den størrelse programmet har når man starter
08. september 2003 - 15:08
#11
jeg har lige pasted det hele ind i nyt project og det funker!!! et åndsvagt spørgsmål har du lavet den her: Dim frmStartWidth As Long Dim frmStartHeight As Long øverst i modulet??
08. september 2003 - 15:10
#12
doh nej og nu virker det jeg siger rigtig mange tak !!! :) smid et svar så jeg kan gi dig point
08. september 2003 - 15:14
#13
det glæder mig :-)
08. september 2003 - 15:18
#14
:o)
Kurser inden for grundlæggende programmering