02. maj 2002 - 14:17Der er
20 kommentarer og 1 løsning
Skærmopløsnings problem - Haster
Jeg har lige i sidste øjeblik opdaget et stort skærmopløsnings problem ved mit projekt som skal afleveres i morgen...
Problemet er at når jeg starter programmet (og har en skærmopløsning på 1024x768), skal den skifte til en opløsning på 1280x1024, men der dukker fejlen op.
Mit program består af en form, som skal køre i fuldskærm (altså ingen borders), men når jeg starter programmet starter formen op midt på skærmen (Som jeg har sat den til), men med en størrelse på 1024x768, hvilket betyder at den har klippet højre side og bunden af mit program!?!
Jeg bruger denne kode under start af form: Call ChangeRes(1280, 1024)
Samt i modulen findes dette:
Sub ChangeRes(iWidth As Single, iHeight As Single)
Dim DevM As DEVMODE Dim a As Boolean Dim i& i = 0
Do a = EnumDisplaySettings(0&, i&, DevM) i = i + 1 Loop Until (a = False)
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Jeg har prøvet at se om det ikke kan komme ned på en mindre skærmopløsning, men da min "oprydnings even" er af h. til, så bliver programmet kaos vis den bare kommer en lille tak ned!
Har du erklæret funktionerne? Du skal altid erklære API-funktioner (og konstanter og typer) i et modul. Noget a la: Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
Benny >> Jeg gidder ikke høre mere på designet, designet er IKKE problemet da der faktisk ikke er så mange kontrollere på billedet, men dem som er der skal være på række nedaf for ikke at ødelægge programmet!!!
Jeg har lige prøvet den med form.width, men når jeg sætter den til 1280 (form1.width = 1280), så bliver formen meget lille, som om den tager en anden målenehed!?! Hvad skal der ellers skrives?
-Takker for points. Bennys sidste svar var også korrekt, da Screen.TwipsPerPixelX (0g Y) er 15 på de fleste skærme --> 1280 * 15 = 19200 1024 * 15 = 15360
Ok, det vidste jeg ikke, det må du undskylde, kan vi måske få Tjacob til at give dig en 20 point eller sådan noget, det var trods alt ham som fik mig i den rigtige tankeretning! Vil det være ok, eller hvad mener i?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.