xenophobia>> ad 3)
Jeg har lavet et lille Freeware-program der benytter en picturebox, der ikke er synlig til at finde ud af forholdet mellem siderne i et billede. Derefter vises det i enimagebox med stretch=true. Dog beregnes at det skal kunne være indenfor skærmen.
Jeg sender gerne en zip-pakke af hele projektet (VB5).
Her er lidt kode, det kan også spille wav-filer med shelle til en lille afspiller, der hedder playany.
Se det og download fra
http://www.jkfsoft.dk/vilbill.htmPrivate Sub File1_Click()
Picture1.Visible = False
Image2.Visible = False
bil = Dir1.Path & "\" & File1.filename
Select Case UCase(Right$(File1.filename, 3))
Case "BMP"
GoTo vis
Case "GIF"
GoTo vis
Case "JPG"
GoTo vis
Case "WAV"
GoTo spil
End Select
Form2.Cls
Form2.Print
Form2.Print
Form2.Print
Form2.Print Tab(4); "Filen: " & File1.filename & " er ikke et billede!"
Exit Sub
vis:
afspil.Visible = False
bil = Dir1.Path & "\" & File1.filename
On Error GoTo billedfejl
Image2.Picture = LoadPicture(bil)
filesize.Caption = Int(FileLen(bil) / 1000)
Picture1.Picture = LoadPicture(bil)
'beregning af forhold mellem siderne (for forstørrelse / formindskelse)
h = Picture1.Height
b = Picture1.Width
f = Int((b / h) * 100)
'Automatisk tilpasning af størrelse til skærmen
'-----------------------------------------------
'If chkasi.Value = 1 Then
If f <= 133 Then
'MsgBox (chkasi.Value & " Forholdet mindre er = " & f)
scrhor.Value = (Screen.Height - 400) * (f / 100)
End If
If f > 133 Then
'MsgBox (chkasi.Value & " Forholdet større er = " & f)
scrhor.Value = Screen.Width - 400
End If
'End If
If b = scrhor.Value Then
'midtstilling vandret
If b < Screen.Width Then
Image2.Left = (Screen.Width - b) / 2
Else
Image2.Left = 5
End If
'midtstilling lodret
If h < Screen.Height Then
Image2.Top = (Screen.Height - h) / 2
Else
Image2.Top = 5
End If
End If
Image2.Visible = True
If chkasi.Value = 0 Then scrhor.Value = b
Exit Sub
billedfejl:
Form2.Print Tab(4); "Filen " & File1.filename & " er beskadiget."
Exit Sub
Resume Next
spil:
'afspil.Visible = True
'afspil.Command = "close"
'afspil.filename = bil
'afspil.Command = "open"
Shell (App.Path & "\wplany.exe " & bil)
End Sub