Auflösung ermitteln
-
Hallo,
ich hab folgendes problem: ich hab in visual 2005 ein fensterchen mit paar bildchen, buttons und labels gebaut. nu möcht ich gern, dass das fenster so groß wie der bildschirm is und die elemente darin dynamisch an die größe angepasst werden. das dynamische anpassen hab ich scho, aber ich bekomm einfach ned die aktuelle auflösung raus. hab da nen bsp gefunden (http://www.online-tutorials.net/system/aktuelle-auflsung-ermitteln/sourcecodes-t-19-33.html) aber wenn ich das so baue (windows.h includen, die beiden int variablen bauen un dann GetSystemMetrics bla) kommen fehlermeldungen aus der winnt.h oO
bin noch recht unerfahren mit visual, vllt liegts au nur daran ^^ wär froh wenn mir wer helfen könnte...
Fehlermeldung schrieb:
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PVOID64'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(5940) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Buffer'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(5940) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(5940) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
-
Im Designer kannst du docking-Eigenschaften für die Form festlegen...
Schau dir das mal an, vielleicht ist das schon was du suchst.Ansonsten kannst du die aktuelle Auflösung auch durch die .Net Klassenbibliothek erfahren, weiss nur nicht mehr wo... guck mal auf MSDN...
Das Tutorial ist noch natives C++...
Dappeljuh
-
also ich hab das ding atm einfach ma auf maximize gesetzt. aber ich brauch ja dennoch die größe in zahlenwerten. also bsp. fenster bei 320*240 soll von den proportionen genauso aussehen wie auf 640*480. hab da meinetwegen nen bild drin un das soll an position "20% der fensterbreite"/"20% der Fensterhöhe" sitzen und 30%x40% groß sein. un egal welche auflößung ich hab, das bild is immer an der selben stelle.
hab eben au scho probiert mit this->SizeWidth; aber da nimmt er die standardmäßigen 300x300 dann da ich des ja im konstrucktor der form alles baue un das alles vorm initialisieren der komponenten benötige
un msdn. ich hab da zwar nen artikel gefunden, abr das schien ned wirklich c zu sein (Dim variable as Integer...). wie find ich da am döfsten was?
-
Dim variable as Integer...
Visual Basic! Da die benutzten Klassen aber allgemein in .Net verfügbar sind, kannste die aber verwenden.
hab da meinetwegen nen bild drin un das soll an position "20% der fensterbreite"/"20% der Fensterhöhe" sitzen und 30%x40% groß sein
Dafür gibts meines Erachtens die docking Eigenschaften...
-
Hab hier was:
die Eigenschaft PrimaryScreen gibt unter anderem die Auflösung zurück!System::Windows::Forms::Screen::PrimaryScreen
Noch Fragen?
-
ja das hatte in in älterer form scho ergooglet, aber war zu blind es dann in meiner form zu finden ^^ dank dir und werds mal ausprobieren