Det är så att jag har gjort ett program som ändrar upplösning på skärmen när man startar programet för att sedan ändra tillbaka till användarens upplösning när man stänger ner programet. Varför skall du göra detta? Kör programmet i fullskärm? Hehe, visste att det skulle komma... Varför inte skala om storleken på kontrollerna i formuläret? Jag gillar idén, själv tycker jag att om man har windows så ska det vara minst 1024*768. Har man nu lägre så ändrar man ju själklart upplösningen. Inget skala om jox, då måste du tänka igenom design för varje tänkbar upplösning... Tänk på att TFT-skärmar enbart är gjorda för en upplösning och bilden kommer bli hemsk om du gör på detta viset! Många bärbara datorer har dessutom "fel" proportion på skärmen, bilden kommer alltså inte täcka hela skärmen, eller så skalas den om med en suddig bild som resultat... Hej Kan du checka av vilka lägen på skärmen som är rekommenderade innan du ändrar upplösning? Jag vet att programmet är dåligt designat mm.... Hej igen eller min Programarkivet:Resize-control som gör det per automatik, själv gör man bara inställningar för vilka regler som skall följas... Jepp, tack Trash!! Hej Det fungerar finemang (med reservation för att den "släpar efter" lite ibland), Garath använder den på en mjukvara han har skrivit Hej TRASH: Ah, det va så:)Upplösnings programet ändrar hertzen!
Allt funkar fint! Men....
Programet sätter även hertzen på 60 hz, vilket många användare kommer att få en smärre chock av. Hur gör jag för att få programmet att inte ändra hertz??
Tacksam för svar snabbt då jag har riktigt bråttom med programmet!
//MartinSv: Upplösnings programet ändrar hertzen!
Sv: Upplösnings programet ändrar hertzen!
Det är en JÄTTEDÅLIG lösning på att kunna använda programmet i flera upplösningar....Sv: Upplösnings programet ändrar hertzen!
Sv: Upplösnings programet ändrar hertzen!
Sv: Upplösnings programet ändrar hertzen!
/JohanSv: Upplösnings programet ändrar hertzen!
>Jag gillar idén, själv tycker jag att om man har windows så ska det vara minst 1024*768.
Jag gillar inte idén.Inget program får styra och ställa med
mina Systeminställningar.
Vad händer om jag lägger programmet i minimerat och vill köra
ett annat prog under tiden. ? Näääääääää där får Ni tänka om.
Jag tycker att man skall tillverka alla program i 800 * 600
SvenSv: Upplösnings programet ändrar hertzen!
Vad jag är ute efter är att då tex vid en upplösning på 1024x768 tex så tar den hertzen som är rekommenderad på skärmen. Vet iofs inte om detta gäller alla skärmar / OS som man kan kolla detta på?
För om den alltid tar 60 hertz så betyder att den gör det som "standard" någonstans.. och att gå efter standarden vill du ju inte.. ;)
Eller det var kanske du som bestämde det.. vilket inte är bra isåfall..
Om du lyckats med detta så är du ju halvägs till en dynamisk lösning, där dessutom användaren får välja själv vilken upplösning på programmet han vill ha...
bör även lägga in en check som behåller användarens inställningar om han nu begär detta...
Ännu ett OM.. ;)
Om nu programmet bara är gjort för en viss upplösning så tyder det på dålig design.. måste hela tiden tänka dynamiskt .. så långt det går..
Bara fiskar lite...... Sv: Upplösnings programet ändrar hertzen!
Inte jag som gjort huvudprogrammet. Pappa anställde en programmerare som tyvärr inte är riktigt hemma på sånt här(sysslar mer med system och sånt).
Den ställer alltid om sig till 60 hz, inget som jag har bestämt.
Skala om gick tydligen inte, allt enligt programmeraren.
Det går säkert men han visste ialla fall inte hur!
//MartinSv: Upplösnings programet ändrar hertzen!
Klart att det går att Resize :a om Formen med sina kontroller.
Men det kräver mycket pyssel innan man får Images och
fonter mm att bli bra.
Du kan kolla mitt uppskick Programarkivet:Anpassa till anv Upplösning där visar jag på tekniken.
mvh
SvenSv: Upplösnings programet ändrar hertzen!
Löste förrresten det ursprungliga problemet åt martin över ICQ:
<code>
Option Explicit
Public Type DEVMODE
dmDeviceName As String * 32
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * 32
dmUnusedPadding As Integer
dmBitsPerPel As Long
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
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
Private OldWidth As Long
Private OldHeight As Long
Private OldRefreshRate As Long
Public Sub ChangeRes(Optional lWidth As Long = -1, Optional lHeight As Long = -1, Optional lRefreshRate As Long = -1)
Static bCancel As Boolean
Dim tDevMode As DEVMODE, lTemp As Long
lTemp = EnumDisplaySettings(0&, -1, tDevMode)
With tDevMode
If bCancel Then
lWidth = OldWidth
lHeight = OldHeight
lRefreshRate = OldRefreshRate
bCancel = False
Else
bCancel = True
OldWidth = .dmPelsWidth
OldHeight = .dmPelsHeight
OldRefreshRate = .dmDisplayFrequency
If lWidth = -1 Then lWidth = OldWidth
If lHeight = -1 Then lHeight = OldHeight
If lRefreshRate = -1 Then lRefreshRate = OldRefreshRate
End If
.dmPelsWidth = lWidth
.dmPelsHeight = lHeight
.dmBitsPerPel = "32"
.dmDisplayFrequency = lRefreshRate
lTemp = ChangeDisplaySettings(tDevMode, 1)
End With
End Sub
</code>Sv: Upplösnings programet ändrar hertzen!
Tror också att Trahs lösning är bäst men programmeraren som gjort programet ville tydligen inte....Sv: Upplösnings programet ändrar hertzen!
En stilla undran Trasch , har du provkört Programarkivet:Resize-control.
I såfall hur fungerade det ??
Undrar
SvenSv: Upplösnings programet ändrar hertzen!
Sv: Upplösnings programet ändrar hertzen!
Då måste jag vara dum i tummen,när jag försöker
provköra så tjatar programet om en OCX nånting som inte finns.
mvh
SvenSv: Upplösnings programet ändrar hertzen!
Jag vet inte vad jag gör för fel i detta tips du gav men ja får fel på att
ChangeRes(800,600,60)
vill ha "="
sätter jag tex:
a=ChangeRes(800,600,60) så klagar den på ChangeRes,
"expected function or variable"
samma med ett likn tips i tips o trix, va e felet?
/BSv: Upplösnings programet ändrar hertzen!
Andreas kan du hjälpa mig med att ställa in färgen oxå?
Det finns ett tips, men får det inte att funka.
http://www.pellesoft.se/login/tips/t_view4.asp?tid=205
Jag kan ju se min nuvarande skärminställning i debugfönstret men jag vill dels se det i en textruta, vilket jag inte lyckas me och dels SÄTTA NY inställning av dom som hamnar i debugfönstret vilket jag inte kan få till...
vore VÄLDIGT tacksam för att få detta att gå, har en deadline ikväll.
/Benny