DPI-Einstellung oder Schriftgrad des Desktop
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
DPI-Einstellung oder Schriftgrad des Desktop
Hallo,
weiß jemand, wie man die Größeneinstellung des Desktop auslesen
kann?
Wichtig wären für mich die
- DPI (Dots per Inch)
oder der
- Schriftgrad
Danke für die Hilfe.
Uli
weiß jemand, wie man die Größeneinstellung des Desktop auslesen
kann?
Wichtig wären für mich die
- DPI (Dots per Inch)
oder der
- Schriftgrad
Danke für die Hilfe.
Uli
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
hi,
gruss by OHR
Jimmy
versuche mal :UliTs hat geschrieben: weiß jemand, wie man die Größeneinstellung des Desktop auslesen
kann?
Wichtig wären für mich die
- DPI (Dots per Inch)
oder der
- Schriftgrad
Code: Alles auswählen
oPS := AppDesktop():lockPS()
oFnt := GraSetFont( oPS )
::FontWidth := oFnt:width
::FontHeight := oFnt:height
....
AppDesktop():unlockPS()
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Hallo Jimmy,
danke für die Hilfe.
Mit Hilfe von Stu Fraser habe ich jetzt eine recht elegante und kurze Lösung:
danke für die Hilfe.
Mit Hilfe von Stu Fraser habe ich jetzt eine recht elegante und kurze Lösung:
Code: Alles auswählen
// The registry entry on Win2K and WinXP for desktop DPI is:
// HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI
// This will be set to 96 for normal and 120 for Large Fonts.
#define LOGPIXELSX 88 // zusaetzlich gibt es auch LOGPIXELSY f
Re: DPI-Einstellung oder Schriftgrad des Desktop
Danke für diesen Code-Schnipsel. Leider liefert mir oFnt:height die gleichen Werte - für die Einstellung des Standard-Schriftgrades von Normal & Groß.AUGE_OHR hat geschrieben:Code: Alles auswählen
oPS := AppDesktop():lockPS() oFnt := GraSetFont( oPS ) ::FontWidth := oFnt:width ::FontHeight := oFnt:height .... AppDesktop():unlockPS()
Auch mit GetDeviceCaps & LOGPIXELSY komme ich nicht weiter - bei beiden Einstellungen erhalte ich DPI 96. Auch SCALINGFACTORY bleibt gleich (1).
Hat jmd.einen Weg herausgefunden diese Windows-Einstellung des Schriftgrades abzufragen?
sorry für das Herauskramen des alten Threads..
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
Vielleicht hilft das: http://www.xbaseforum.de/viewtopic.php?f=16&t=8009
Es gab aber noch (mindestens) ein Thema zu dieser Frage, nur finde ich das auf Anhieb nicht.
Es gab aber noch (mindestens) ein Thema zu dieser Frage, nur finde ich das auf Anhieb nicht.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Re: DPI-Einstellung oder Schriftgrad des Desktop
Der Hinweis mit der Registrierung hat mich dann doch noch weitergeführt.Wonderer hat geschrieben:Hat jmd.einen Weg herausgefunden diese Windows-Einstellung des Schriftgrades abzufragen?
Allerdings ist die Änderung in CaptionFont bei HKEY_CURRENT_USER\ControlPanel\Desktop\WindowMetrics
bei XP und Win7 unterschiedlich und kann nicht allgemeingültig programmiert werden.
1.Byte hat folgenden HexWert bei XP:
F5 -> Normal
F0 -> Groß
ED -> Extragroß
Danke Georg, der Post von Jan sieht sehr gut aus - werd ich dann mal ausprobieren.
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
Hier eine Funktion die mal jemand gepostet hat:
Code: Alles auswählen
FUNCTION GetTextDPI(art)
** Rückgabe bei art=1 dpi, 2=Zoomfaktor
LOCAL oPS, aTmp
DEFAULT art TO 1
oPS := XbpPresSpace():New():Create( AppDesktop():WinDevice(), ;
{100,100}, GRA_PU_LOENGLISH )
aTmp:= oPS:SetViewport()
oPS:Destroy()
RETURN iif(art=1, aTmp[3]-aTmp[1],round((aTmp[3]-aTmp[1])/96,2))
Viele Grüße
Wolfgang
Wolfgang
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
So mach ich das:
Das ist sehr, sehr ähnlich wie das von Wolfgang.
Jan
Code: Alles auswählen
FUNCTION DPIVerhaeltnis
LOCAL oPS := NIL
LOCAL aTmp := {}
oPS := XbpPresSpace():New():Create( AppDesktop():WinDevice(), ;
{100, 100}, ; // Genau 1x1 Zoll groß
GRA_PU_LOENGLISH) // Eine Einheit ist 0.01 Inch
aTmp := oPS:SetViewport()
oPS:Destroy()
RETURN (aTmp[3] - aTmp[1])
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Re: DPI-Einstellung oder Schriftgrad des Desktop
sieht mir beides nach DPI-Einstellung und nicht nach dem Schriftgrad aus. Das hatte ich mit LOGPIXELSY und der Win32API schon ausgelesen.
Unter Win7 gibt es dieses Problem nicht mehr mit gleichbleibender DPI-Zahl bei größerer Schrift. Wenn man da >100% einstellt wird auch DPI erhöht.
Eigentlich ist das Ganze Zeitverschwendung wenn ich mir überlege, dass man ganz einfach einen Menüpunkt im Programm anbieten kann der die Fest-
legung der Schrift+Größe ermöglicht. Dann hätte der in Win eingestellte Schriftgrad erst einmal nur Auswirkung auf das Menü und im Formular der Text
und die Maße+Positionen der Xbp wird über die interne Einstellung angepasst.
Unter Win7 gibt es dieses Problem nicht mehr mit gleichbleibender DPI-Zahl bei größerer Schrift. Wenn man da >100% einstellt wird auch DPI erhöht.
Eigentlich ist das Ganze Zeitverschwendung wenn ich mir überlege, dass man ganz einfach einen Menüpunkt im Programm anbieten kann der die Fest-
legung der Schrift+Größe ermöglicht. Dann hätte der in Win eingestellte Schriftgrad erst einmal nur Auswirkung auf das Menü und im Formular der Text
und die Maße+Positionen der Xbp wird über die interne Einstellung angepasst.
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
Hmm. Du hattest in Deiner Eingangsfrage nach der Eistellung der DPI gefragt. Genau das haben wir Dir beantwortet.
Die Schrift stelle ich in OEM-Oberföächen Abhängigkeit der DPI ein. Wobei 96 DPI für mich 100 % sind. In GUI-Oberflächen geschieht das über eine Einstellung in der Manifest. Ebenfalls stelle ich in Abhängigkeit von den DPI die Größe der GUI-Elemente ein, das geht sehr einfach und unkompliziert. Und alles Vollautomatisch, der User muß nichts einstellen oder auswählen. Genau so sollte es unter aktuellen Windows-Versionen ja wohl auch sein, denke ich.
Jan
Die Schrift stelle ich in OEM-Oberföächen Abhängigkeit der DPI ein. Wobei 96 DPI für mich 100 % sind. In GUI-Oberflächen geschieht das über eine Einstellung in der Manifest. Ebenfalls stelle ich in Abhängigkeit von den DPI die Größe der GUI-Elemente ein, das geht sehr einfach und unkompliziert. Und alles Vollautomatisch, der User muß nichts einstellen oder auswählen. Genau so sollte es unter aktuellen Windows-Versionen ja wohl auch sein, denke ich.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
Jan,
wie machst du das in Manifest ?
Die Schriftgröße durch den User wählen zu lassen ist keine schlechte Idee, nicht jeder sieht gleich gut
Aber die Anwendung muss dann auch dynamisch auf die Schriftgrößenänderung reagieren ...
Speziell bei 4 K Monitoren wird das sehr wichtig, wobei dann auch für die Bitmaps größere (also verschiedene Größen) nötig sind.
wie machst du das in Manifest ?
Die Schriftgröße durch den User wählen zu lassen ist keine schlechte Idee, nicht jeder sieht gleich gut
Aber die Anwendung muss dann auch dynamisch auf die Schriftgrößenänderung reagieren ...
Speziell bei 4 K Monitoren wird das sehr wichtig, wobei dann auch für die Bitmaps größere (also verschiedene Größen) nötig sind.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
mir ist nicht ganz klar was du mit "Schriftgrad" von einem Font meinst ?Wonderer hat geschrieben:sieht mir beides nach DPI-Einstellung und nicht nach dem Schriftgrad aus. Das hatte ich mit LOGPIXELSY und der Win32API schon ausgelesen.
Code: Alles auswählen
LOCAL oFont := XBPFONT() :New()
LOCAL cFont := "10.Arial"
LOCAL cText := "Hello World"
LOCAL oPS := NIL
LOCAL nSize
oFont:Create( cFont )
GraSetFont( oPS, oFont )
GraStringAt( oPS, { 10, 0 }, cText )
? "Name ",oFont:familyName
? "height",oFont:height
? "width ",oFont:width
nSize := oFont:nominalPointSize
? "Points",nSize
es gibt diese DPI Beziehung wenn du mit der Windows API "CreateFontA" arbeiten möchtestWonderer hat geschrieben:Unter Win7 gibt es dieses Problem nicht mehr mit gleichbleibender DPI-Zahl bei größerer Schrift. Wenn man da >100% einstellt wird auch DPI erhöht.
Code: Alles auswählen
hDC := @USER32:GetDC(0)
nYLogPixel := @Gdi32:GetDeviceCaps( hDC, LOGPIXELSY )
? "LOGPIXELSY" ,nYLogPixel
? ""
? "Y Pixel"
? nx1 := nYLogPixel/72 * nSize
? nx2 := nx1 / (nSize + 0.5 )
? nx1 -= nx2
? INT(nSize*nx1)
@USER32:ReleaseDC(0, hDC )
dafür gibt es den Layoutmanager() der unter v1.9x nicht dokumentiert ist. Im Forum findest du dafür Beispiele.Wonderer hat geschrieben:... und die Maße+Positionen der Xbp wird über die interne Einstellung angepasst.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
Korrektur : es handelt sich um die @ot4xb:_create_font_() Function.AUGE_OHR hat geschrieben:es gibt diese DPI Beziehung wenn du mit der Windows API "CreateFontA" arbeiten möchtest
ein Demo der Windows API "CreateFontA", von Günter Beyes (GraTest.zip [8.66 KiB]) , findet sich hier http://www.xbaseforum.de/viewtopic.php? ... 48&p=66946
wenn man sich den Kommentar in der FUNCTION HandleFromFont( oFont ) ansieht wird einem auch klar das es keine exakte "Übersetzung" geben kann weil XbpFont() weniger Instanzvariablen hat als benötigt.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
so langsam komme ich dahinter was du mit Schriftgrad meinen könntest ...Wonderer hat geschrieben:Auch mit GetDeviceCaps & LOGPIXELSY komme ich nicht weiter - bei beiden Einstellungen erhalte ich DPI 96. Auch SCALINGFACTORY bleibt gleich (1).
Hat jmd.einen Weg herausgefunden diese Windows-Einstellung des Schriftgrades abzufragen?
Frage : arbeitest du mit 150% "Lesbarkeit auf dem Bildschirm erleichtern"
tatsächlich gehen die hier gezeigten Berechnungen zwar bei 100% (96) und 125% (120) aber nicht mit 150% wo er 96 ausgibt
Lösung siehe http://www.xbaseforum.de/viewtopic.php?f=16&t=8852
gruss by OHR
Jimmy
Jimmy
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
Hubert,
die genaue Vorgehensweise hatte ich hier http://xbaseforum.de/viewtopic.php?f=16&t=8009 geschildert
Jan
die genaue Vorgehensweise hatte ich hier http://xbaseforum.de/viewtopic.php?f=16&t=8009 geschildert
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
Danke Jan, was man alles so vergessen hat
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 237
- Registriert: Do, 14. Aug 2008 14:59
- Wohnort: Straelen
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 3 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
Hallo Jimmy,
du schreibst
Wenn die DPI steigt (im Vergleich zum Entwicklungssystem), dann müsste konsequenterweise die Fenstergröße und die Xbpart-Größe im DPI-Verhältnis ansteigen.
Andernfalls passen vielleicht die Schriftinhalte nicht mehr. Ich überlege meine Fenster- und Xbpart-Klassen mit einer solchen Methodik auszustatten, um meine Programme DPI-aware zu halten.
Jan macht das ja wohl auch so.
du schreibst
Dies ist aber richtig so. Bei 150% ist die Auflösung des Bildschirms schließlich um Faktor 1,5 kleiner, also ist die DPI gleich dem Wert bei 100%.tatsächlich gehen die hier gezeigten Berechnungen zwar bei 100% (96) und 125% (120) aber nicht mit 150% wo er 96 ausgibt
Wenn die DPI steigt (im Vergleich zum Entwicklungssystem), dann müsste konsequenterweise die Fenstergröße und die Xbpart-Größe im DPI-Verhältnis ansteigen.
Andernfalls passen vielleicht die Schriftinhalte nicht mehr. Ich überlege meine Fenster- und Xbpart-Klassen mit einer solchen Methodik auszustatten, um meine Programme DPI-aware zu halten.
Jan macht das ja wohl auch so.
Viele Grüße
Dieter
Was man nicht versteht, besitzt man nicht.
Dieter
Was man nicht versteht, besitzt man nicht.
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
ganz aktuell dazu
news://news.alaska-software.com:119/zg0rcdcbtkwi.ipz52fkw9kud$.dlg@40tude.net
news://news.alaska-software.com:119/zg0rcdcbtkwi.ipz52fkw9kud$.dlg@40tude.net
Gruß
Klaus
Klaus
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
150% sind 144 DPI !Dieter hat geschrieben:Dies ist aber richtig so. Bei 150% ist die Auflösung des Bildschirms schließlich um Faktor 1,5 kleiner, also ist die DPI gleich dem Wert bei 100%.
wovon du spricht ist der Zoom Faktor zwecks Korrektur AnpassungDieter hat geschrieben:Wenn die DPI steigt (im Vergleich zum Entwicklungssystem), dann müsste konsequenterweise die Fenstergröße und die Xbpart-Größe im DPI-Verhältnis ansteigen.
Andernfalls passen vielleicht die Schriftinhalte nicht mehr.
dazu benötigst du "nur" ein angepasstes XP Manifest File was die DPI "Vergrösserung" ausschaltet ( AppDeskTop():CurrentSize() = "echte" Grösse )Dieter hat geschrieben:Ich überlege meine Fenster- und Xbpart-Klassen mit einer solchen Methodik auszustatten, um meine Programme DPI-aware zu halten.
Jan macht das ja wohl auch so.
gruss by OHR
Jimmy
Jimmy
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2470
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
Es interessiert doch nur die DPI, die Auflösung des Monitors ist eigentlich völlig egal.
Standard sind 100, 125 oder 150%. Nicht zu vergessen das der Anwender auch andere
einstellen kann.
Beispiel Eingabefeld (Express++), Auflösung 1920 x 1080
@ 2, 15 DCGET nNumeric pict '@E 999999.999'
@ 2, 31 DCGET cCharacter pict '!'
Das klappt bei 100% (96 dpi) gut, bei bei 125% (120 dpi) noch leidlich, bei 150% (144dpi) nicht.
d.h. die 2, bzw. die Positionen 15 und 31 entsprechend anpassen. Der Faktor wird ja normalerweise
beim Start der Anwendung ermittelt. Das ist eigentlich alles.
Wenn der Anwender allerdings die Auflösung verringert hat, ist ähnlich zu verfahren.
Standard sind 100, 125 oder 150%. Nicht zu vergessen das der Anwender auch andere
einstellen kann.
Beispiel Eingabefeld (Express++), Auflösung 1920 x 1080
@ 2, 15 DCGET nNumeric pict '@E 999999.999'
@ 2, 31 DCGET cCharacter pict '!'
Das klappt bei 100% (96 dpi) gut, bei bei 125% (120 dpi) noch leidlich, bei 150% (144dpi) nicht.
d.h. die 2, bzw. die Positionen 15 und 31 entsprechend anpassen. Der Faktor wird ja normalerweise
beim Start der Anwendung ermittelt. Das ist eigentlich alles.
Wenn der Anwender allerdings die Auflösung verringert hat, ist ähnlich zu verfahren.
Gruß
Klaus
Klaus
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
du sprichst von den Positionen der XbParts und ich von der Font Grösse.Koverhage hat geschrieben:Beispiel Eingabefeld (Express++), Auflösung 1920 x 1080
@ 2, 15 DCGET nNumeric pict '@E 999999.999'
@ 2, 31 DCGET cCharacter pict '!'
Das klappt bei 100% (96 dpi) gut, bei bei 125% (120 dpi) noch leidlich, bei 150% (144dpi) nicht.
d.h. die 2, bzw. die Positionen 15 und 31 entsprechend anpassen. Der Faktor wird ja normalerweise
beim Start der Anwendung ermittelt. Das ist eigentlich alles.
Die Positionen kann man "automatisch" mit dem Layoutmanager erledigen aber auch der macht keine Font "Anpassung"
gruss by OHR
Jimmy
Jimmy
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: DPI-Einstellung oder Schriftgrad des Desktop
wie wäre es hiermit
Code: Alles auswählen
#include "dll.ch"
***********************************************************************************************************************************
*** Feststellen, welche Auflösung der Rechner hat
***********************************************************************************************************************************
FUNCTION AppDesktopDPI
//
LOCAL nHWnd := AppDesktop():GetHWnd()
LOCAL nHDC := DllCall("User32.DLL", DLL_STDCALL, "GetDC", nHWnd)
LOCAL nLogPix := 0
LOCAL LOGPIXELSY := 88
//
LOCAL z:=1
do while nHDC <= 0
nHDC := DllCall("User32.DLL", DLL_STDCALL, "GetDC", nHWnd)
z++
if z=21
exit
endif
enddo
//
IF nHDC > 0
nLogPix := DllCall("GDI32.DLL", DLL_STDCALL, "GetDeviceCaps", nHDC, LOGPIXELSY)
DllCall("User32.DLL", DLL_STDCALL, "ReleaseDC", nHWnd, nHDC)
ELSE
msgbox("Die DPi-Einstellungen konnten nicht ausgegelesen werden! "+chr(13)+ ;
"Darstellung der Schriftarten ist vermutlich nicht korrekt! "+chr(13)+ ;
"Ein Neustart des Programmes könnte das Problem beheben.","Problem "+str(z,3,0))
ENDIF
//
RETURN nLogPix
-
- Rekursionen-Architekt
- Beiträge: 237
- Registriert: Do, 14. Aug 2008 14:59
- Wohnort: Straelen
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 3 Mal
Re: DPI-Einstellung oder Schriftgrad des Desktop
Hallo Jimmy,
Wenn ein Anwender die Anzeige auf 150% einstellt, dann muss sich die DPI nicht unbedingt ändern.
@Rolf
Ja so kann man die DPI-Auflösung berechnen.
Ich weiß nicht, wie du zu dieser Aussage kommst.150% sind 144 DPI !
Wenn ein Anwender die Anzeige auf 150% einstellt, dann muss sich die DPI nicht unbedingt ändern.
Genau davon ist die Rede. Das machen unsere Kunden ständig. Handlungsbedarf ist aber gegeben, wenn sich die DPI in Bezug auf das Entwicklungssystem ändert.wovon du spricht ist der Zoom Faktor zwecks Korrektur Anpassung
Man kann den Anwender nicht daran hindern, eine andere Bildschirmauflösung zu wählen.dazu benötigst du "nur" ein angepasstes XP Manifest File was die DPI "Vergrösserung" ausschaltet ( AppDeskTop():CurrentSize() = "echte" Grösse )
@Rolf
Ja so kann man die DPI-Auflösung berechnen.
Viele Grüße
Dieter
Was man nicht versteht, besitzt man nicht.
Dieter
Was man nicht versteht, besitzt man nicht.