W8 und Survace pro, Bug bei OpenWindow()
- tft
- Beiträge: 650
- Registriert: 08.09.2004 20:18
- Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
- Wohnort: Dachsen
- Kontaktdaten:
W8 und Survace pro, Bug bei OpenWindow()
Hallo,
ich schreibe für mich selber gerade ein Programm zum Abspielen einer Speziellen Playliste, die Anime Videos
Anzeigt. Auf meinem Survace pro 3 habe ich das Problem das beim öfffnen eines Fenster die Werte für
Pos X und Pos Y nur funktionieren wenn ich sie halbiere. Dabei ist die verwendete Auflösung des Desktop
nicht massgeblich. Wie stelle ich fest das der Code auf einer Survace Pro 3 Maschiene läuft. Damit ich darauf
entsprechend reagieren kann. Denn ein BugFix ist nicht so schnell in sicht oder ?
Gruss TFT
ich schreibe für mich selber gerade ein Programm zum Abspielen einer Speziellen Playliste, die Anime Videos
Anzeigt. Auf meinem Survace pro 3 habe ich das Problem das beim öfffnen eines Fenster die Werte für
Pos X und Pos Y nur funktionieren wenn ich sie halbiere. Dabei ist die verwendete Auflösung des Desktop
nicht massgeblich. Wie stelle ich fest das der Code auf einer Survace Pro 3 Maschiene läuft. Damit ich darauf
entsprechend reagieren kann. Denn ein BugFix ist nicht so schnell in sicht oder ?
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler

Re: W8 und Survace pro, Bug bei OpenWindow()
Du musst in den Eigenschaften von deinem Programm die Skalierung bei hohem DPI-Wert deaktivieren. Die Deaktivierung ist auch über ein spezielles Manifest, dass in den Compiler-Optionen im Register "Ressourcen" eingetragen wird möglich.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: W8 und Survace pro, Bug bei OpenWindow()
@pstryk
Haste zufällig nen link oder den Text der Manifest?
Haste zufällig nen link oder den Text der Manifest?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: W8 und Survace pro, Bug bei OpenWindow()
Der Text der Manifest-Datei lautet:
Eingebunden wird es über eine RC-Datei mit folgendem Inhalt:
1 24 "D:\\Programieren\\main.manifest"
__________________________________________________
Code-Tags hinzugefügt
27.02.2015
RSBasic
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="CompanyName.ProductName.YourApp"
type="win32" />
<description></description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
</assembly>
1 24 "D:\\Programieren\\main.manifest"
__________________________________________________
Code-Tags hinzugefügt
27.02.2015
RSBasic
- tft
- Beiträge: 650
- Registriert: 08.09.2004 20:18
- Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
- Wohnort: Dachsen
- Kontaktdaten:
Re: W8 und Survace pro, Bug bei OpenWindow()
Hallo,
das mit dem Manifest verstehe ich leider nicht. Und die Option bei PB kann ich nicht finden.
Gets fieleicht etwas genauer ??? Danke
Gruss TFT
das mit dem Manifest verstehe ich leider nicht. Und die Option bei PB kann ich nicht finden.
Gets fieleicht etwas genauer ??? Danke
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler

- tft
- Beiträge: 650
- Registriert: 08.09.2004 20:18
- Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
- Wohnort: Dachsen
- Kontaktdaten:
Re: W8 und Survace pro, Bug bei OpenWindow()
Hallo,
das mit der Option habe ich gefunden. Die Befindet sich im Icon der Start exe. Aber das macht
die sachen nur noch schlimmer. Jetzt sind die Fenster komplett im a a.
Gruss TFT
PS: Dann werde ich wohl bei Desktops Grösser Full HD die Werte einfach teilen durch 2, bis ich eine andere
lösung habe
das mit der Option habe ich gefunden. Die Befindet sich im Icon der Start exe. Aber das macht
die sachen nur noch schlimmer. Jetzt sind die Fenster komplett im a a.
Gruss TFT
PS: Dann werde ich wohl bei Desktops Grösser Full HD die Werte einfach teilen durch 2, bis ich eine andere
lösung habe
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler

Re: W8 und Survace pro, Bug bei OpenWindow()
Erzeuge zwei Dateien:
"main.manifest" - mit dem Manifest-Text
und
"manifest.rc" - mit den zwei Zahlen und dem Pfad zu "main.manifest".
Die "manifest.rc" bite im Register Ressourcen hinzufügen.
"Moderne Themen-Unterstützung" bitte deaktivieren, um das Standard manifest zu deaktivieren.
"main.manifest" - mit dem Manifest-Text
und
"manifest.rc" - mit den zwei Zahlen und dem Pfad zu "main.manifest".
Die "manifest.rc" bite im Register Ressourcen hinzufügen.
"Moderne Themen-Unterstützung" bitte deaktivieren, um das Standard manifest zu deaktivieren.
Re: W8 und Survace pro, Bug bei OpenWindow()
Das Surface Pro 3 hat 216 PPI, deshalb die runde Verdoppelung der Größe (gegenüber normalen 96 DPI).
Wenn man es DPI-aware macht, werden Fontgrößen automatisch angepasst. Koordinaten (X, Y, Höhe, Breite) muß man aber,
je nach DPI auf dem System, skalieren. Ein kleines Beispiel dazu:
Das hat auch absolut nichts mit "exklusiv Surface Pro 3" zu tun. Mit PB schreibst Du nur normale Windows-Desktop-Anwendungen, keine "Modern UI Apps".
Das gilt also überall, wo ein Monitor/Display mit mehr als 100% (96 DPI) verwendet wird. Oder auch allgemein, immer wenn der User die
Größenanpassung in den Systemeinstellungen auf mehr als 100% setzt. Bei dem Surface Pro 3 wird das bestimmt auf 200% eingestellt sein,
sonst erkennt man bei 2160 x 1440 auf 12 Zoll kaum noch etwas.
Wenn man es DPI-aware macht, werden Fontgrößen automatisch angepasst. Koordinaten (X, Y, Höhe, Breite) muß man aber,
je nach DPI auf dem System, skalieren. Ein kleines Beispiel dazu:
Code: Alles auswählen
Prototype proto_SetProcessDPIAware()
If OpenLibrary(0,"user32.dll")
SetProcessDPIAware.proto_SetProcessDPIAware = GetFunction(0,"SetProcessDPIAware")
If SetProcessDPIAware
;Debug "calling SetProcessDPIAware()"
SetProcessDPIAware() ; Windows Vista+ / Windows Server 2008+
EndIf
EndIf
Global _dpiScaleFactorX.d = GetDeviceCaps_(GetDC_(0),#LOGPIXELSX) / 96
Global _dpiScaleFactorY.d = GetDeviceCaps_(GetDC_(0),#LOGPIXELSY) / 96
Macro dpiX(_num_) : (_num_ * _dpiScaleFactorX) : EndMacro
Macro dpiY(_num_) : (_num_ * _dpiScaleFactorY) : EndMacro
; Load the font
t=LoadFont(1, "Arial", 10, #PB_Font_HighQuality) ;Load Arial Font, Size 10 - 28/NOV/2013
SetGadgetFont(#PB_Default, FontID(1))
If t=0 : MessageRequester("Error", "Can't load Arial font.") : EndIf
If OpenWindow(0, dpiX(0), dpiY(0), dpiX(640), dpiY(285), "DPIaware", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0, dpiX(10),dpiY( 10),dpiX(200),dpiY(25), "Standard Button")
ButtonGadget(1, dpiX(10),dpiY( 40),dpiX(200),dpiY(25), "Left Button", #PB_Button_Left)
ButtonGadget(2, dpiX(10),dpiY( 70),dpiX(200),dpiY(25), "Right Button", #PB_Button_Right)
ButtonGadget(3, dpiX(10),dpiY(100),dpiX(200),dpiY(60), "Multiline Button (longer text gets automatically wrapped)", #PB_Button_MultiLine)
ButtonGadget(4, dpiX(10),dpiY(170),dpiX(200),dpiY(25), "Toggle Button", #PB_Button_Toggle)
ListViewGadget(5, dpiX(430),dpiY(10),dpiX(200),dpiy(185))
For i = 0 To 100 : AddGadgetItem(5,-1,"Item "+i) : Next
CanvasGadget(6, dpiX(220),dpiY(10),dpiX(200),dpiy(185))
If StartDrawing( CanvasOutput(6) )
Box(0,0,OutputWidth(),OutputHeight(),RGB($40,$40,$40))
Line(dpiX( 0) ,dpiY(0), dpiX(200),dpiy(185),RGB($FF,$FF,$00))
Line(dpiX(200),dpiY(0),-dpiX(200),dpiy(185),RGB($FF,$FF,$00))
StopDrawing()
EndIf
If LoadImage(0,#PB_Compiler_Home+"Examples/Sources/Data/PureBasicLogo.bmp")
ResizeImage(0,dpiX(ImageWidth(0)),dpiY(ImageHeight(0)))
ImageGadget(7,dpiX(10),dpiY(205),dpiX(381),dpiY(68),ImageID(0))
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Das gilt also überall, wo ein Monitor/Display mit mehr als 100% (96 DPI) verwendet wird. Oder auch allgemein, immer wenn der User die
Größenanpassung in den Systemeinstellungen auf mehr als 100% setzt. Bei dem Surface Pro 3 wird das bestimmt auf 200% eingestellt sein,
sonst erkennt man bei 2160 x 1440 auf 12 Zoll kaum noch etwas.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
- tft
- Beiträge: 650
- Registriert: 08.09.2004 20:18
- Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
- Wohnort: Dachsen
- Kontaktdaten:
Re: W8 und Survace pro, Bug bei OpenWindow()
Hallo,
danke für die sehr aussage kräftigen Infos.
Gruss TFT
danke für die sehr aussage kräftigen Infos.
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler

- tft
- Beiträge: 650
- Registriert: 08.09.2004 20:18
- Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
- Wohnort: Dachsen
- Kontaktdaten:
Re: W8 und Survace pro, Bug bei OpenWindow()
Hallo,
@Danilo der Code ist spitze .... du solltest Ihn fielleicht beim PureArea.Net einfliesen lassen.
gruss TFT
@Danilo der Code ist spitze .... du solltest Ihn fielleicht beim PureArea.Net einfliesen lassen.
gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
