Halloj!behöver hjälp med att Deklarera variabel
Hittatde denna kodsnutt som fixar upplösnings prob. men den funkar ej om man använder "Option Explicit" och det är väl dumt att inte göra det, hur som helst jag fixar inte att Deklarera variabeln själv, har någon lust att hjälpa mej?
Tack på förhand
/Tomas
Koden ser ut så här:
Option Explicit
Sub Form_Load()
'Dim SetRes as ?????????????????????? HÄR ÄR PROBLEMET
'Som det här är skrivet så förutsätter
'functionen att programmet är gjort
'i res 800 * 600 , har du gjort det
'i en anna upplösning får du skriva dessa
'siffror här {ResizeForm(frmMain, 800, 600)}
'*******************************************
If Not Screen.Width \ 15 = 800 Then
'Där jag skrivit frmMain skall du skriva
'namnet på den form du vill Resize
SetRes = ResizeForm(frmMain, 800, 600)
End If
End Sub
Function ResizeForm(FormName As Form, designX As Long, designY As Long) As Long
'Sven Å Persson rutin 1997
'Denna rutin ser till att skärmen ser likadan ut
'oberoende av vilken upplösning skärmen är inställd för.
Dim wStart, hStart, TopIndex, LoopIndex, i
Dim wFactor As Single, hfactor As Single, hfont As Single
Dim aControl As Control
wStart = Screen.Width / Screen.TwipsPerPixelX
hStart = Screen.Height / Screen.TwipsPerPixelY
wFactor = wStart / designX
hfactor = hStart / designY
' *****
If hfactor > 1.25 Then '1.25 kommer från 600/480
hfont = 1.5
Else
hfont = 1.3 'Justera Fonter
End If
' *****
TopIndex = FormName.Controls.Count - 1
' Alla Controler har inte dessa properties
On Error Resume Next
For LoopIndex = 0 To TopIndex
Set aControl = FormName.Controls(LoopIndex)
aControl.Width = aControl.Width * wFactor
aControl.Left = aControl.Left * wFactor
' ********
' Här testar du TrueType fonter, hFont skall justeras.
Select Case hfactor
Case Is = 0.8
aControl.FontSize = 8.25 'aControl.FontSize * hfactor
'lblFG.FontSize = 14
Case Is > 1.25
aControl.FontSize = 12 'aControl.FontSize * hfactor
'lblFG.FontSize = 24
End Select
' *********
If TypeOf FormName.Controls(LoopIndex) Is TextBox Then
' ********
' Plats för experiment med textbox
' aControl.Height = aControl.Height
' ********
End If
If TypeOf FormName.Controls(LoopIndex) Is ListBox Then
' ********
' Plats för experiment med Listbox
aControl.Height = aControl.Height * hfont
' ********
Else
aControl.Height = aControl.Height * hfactor
End If
aControl.Top = aControl.Top * hfactor
Next LoopIndex
Set aControl = Nothing
FormName.Height = FormName.Height * hfactor
FormName.Width = FormName.Width * wFactor
ResizeForm = -1
End Function