| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: VB.NET: eigene Control bei untschiedl. Bildschirmauflösung (7223 mal gelesen)
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2679 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ privat: ab 2024 Onshape seit 2025 SolidWorks for Makers (und Rentner)
|
erstellt am: 17. Sep. 2010 11:19 <-- editieren / zitieren --> Unities abgeben:         
(sorry, s vergessen bei "Controls" im Titel  ) Hallo Experten, ich habe da mal wieder ein Problem. Ich habe mir ein paar eigene Controls gebaut, unter anderem grafische Buttons, die ich in meinen Programmen immer wieder verwende. Diese Buttons sind auf der Grundlage eines Labels erstellt, das Bild wird als Background-Image definiert. Die funktionieren so weit ganz gut und bisher war ich auch sehr zufrieden damit...bis ein solches Programm auf einem Rechner eingesetzt wurde, bei dem die Bildschirm-Anzeigeauflösung geändert wurde, in diesem Fall von 96DPI (Standard) auf 120 DPI (Groß). Damit kommt die Darstellung total durcheinander. So sieht's normalerweise aus: und so bei der geänderten Auflösung: Wie kann ich erreichen, dass das Bitmap (BackgroundImage) an die Auflösung angepasst wird, so dass mein Progrämmchen auch bei exotischen Auflösungen noch gut aussieht? ------------------ Klaus
www.al-ko.com | mein Gästebuch | privat... | Nasenheim [Diese Nachricht wurde von KMassler am 17. Sep. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 17. Sep. 2010 12:11 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
Hallo Klaus, dafür ist die Eigenschaft "AutoScaleMode" vorgesehen, die z.B Bestandteil der Form Klasse ist. Wenn du diese auf Me.AutoScaleMode= Windows.Forms.AutoScaleMode.Dpi könnte es schon klappen. Leider habe ich die Eigenschaft selbser noch nicht benötigt, habe ealso keine Erfahrung damit. In der MSDN findest du hier einen ausführlichen Artikel. ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks API Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2679 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ privat: ab 2024 Onshape seit 2025 SolidWorks for Makers (und Rentner)
|
erstellt am: 17. Sep. 2010 13:08 <-- editieren / zitieren --> Unities abgeben:         
|
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 17. Sep. 2010 13:10 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2679 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ privat: ab 2024 Onshape seit 2025 SolidWorks for Makers (und Rentner)
|
erstellt am: 13. Dez. 2011 17:02 <-- editieren / zitieren --> Unities abgeben:         
Nach langer Zeit muss ich das hier nochmal aufwärmen. Wir steigen gerade endlich komplett auf Windows 7 um. Soweit, so gut. Jetzt musste ich feststellen, dass nach der Windows7-Installation die Anzeigeeinstellung (Schriftgröße) standardmäßig auf 125% eingestellt ist (s.Bild). Dank der Einstellung "Autoscalemode=inherit" bleiben zwar meine eigenen Buttons schön dargestellt- dafür zerhaut's mit die Texte, die sind alle zu groß. Ich hatte mich also zu früh gefreut. Ich habe alle Parameter von Autoscalemode durchprobiert: none, dpi, inherit und font. Entweder habe ich Probleme mit der Textgröße, oder mit der Darstellung meines selbstgebastelten Buttons, beides zusammen stimmt nie, wenn die Bildschirmeinstellung nicht 100% beträgt. Abhilfe könnte ich schaffen, wenn ich autoscalemode auf "font" stellen und die Buttongröße zur Laufzeit an die Einstellung 100%, 125% oder 150% anpassen würde. Das Problem ist nur: Wie kriege ich diesen Faktor raus? Google findet mir dazu nur Tipps zur Bildschirmauflösung, das hilft mir hier aber nicht weiter. ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... | Nasenheim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles... i.R.

 Beiträge: 2679 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ privat: ab 2024 Onshape seit 2025 SolidWorks for Makers (und Rentner)
|
erstellt am: 15. Dez. 2011 14:39 <-- editieren / zitieren --> Unities abgeben:         
 Andere Lösung: ich baue mir den Button als Usercontrol, nicht mehr als umdefiniertes Label. Mit einem Label zur Textanzeige. Das hat den Vorteil, dass "Usercontrol" die Eigenschaft "BackgroundImageLayout" hat, wenn ich die auf "Stretch" stelle, wird das Bild an die jeweilige Größe angepasst. Damit ist das Problem erledigt. Jetzt muss ich den nur noch fertig ausbauen und in meinen sämtlichen Progrämmchen ersetzen. Dieses Problem wäre damit gelöst...aber das nächste folgt auf dem Fuß... ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... | Nasenheim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |