online 1
gast (50)

/ Forum / Anwendungen(Java,C++...)

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon HannesWurst vom 29.12.2021, 11:16 Options

C++ Fenstergröße festlegen

Hi...

Voller Euphorie habe ich eine kleine Anwendung in C# geschrieben. Später habe ich gemerkt, dass die Performance des Rechners nicht optimal ist, da noch weitere Programme im Hintergrund laufen.

Ich möchte also versuchen, eine Anwendung von C# zu C++/CLI zu portieren um so eventuell etwas schonender mit den Ressourcen umzugehen. Als IDE dient mir Microsoft Visual Studio 2008 Pro.

Gleich am Anfang scheitert es schon an der Fenstergröße.

In der Datei Form1.h gibt es folgende Code-Zeile:


this->ClientSize = System::Drawing::Size(220, 590);


Die X-Achse der Fenstergröße stimmt. Jedoch soll die Y-Achse immer auf 100% der Bildschirmauflösung (Höhe) laufen.

Mein Ansatz sieht nun so aus:


this->ClientSize = System::Drawing::Size(220, GetSystemMetrics(SM_CYSCREEN));  


Ich erhalte jedoch die Fehlermeldungen:
-Error 1 error C2065: 'SM_CYSCREEN' : undeclared identifier
-Error 2 error C3861: 'GetSystemMetrics': identifier not found

Und ich habe keine Ahnung an welcher Stelle ich die Dinger deklarieren soll und wie das genau auszusehen hat. C++ unterscheidet sich schon sehr von VisualBasic und C# mit denen ich in der Vergangenheit gearbeitet habe.

Weiß da jemand, was ich falsch gemacht habe bzw. wo ich noch etwas vergessen habe?

HannesWurst


Antwort schreiben

Antwort 1 von tallyHO vom 29.12.2021, 12:16 Options

Syntax:

this->ClientSize = System::Drawing::Size(220, ::GetSystemMetrics(SM_CYSCREEN));


Beispiel:

http://www.codeproject.com/KB/cpp/multimon.aspx

Antwort 2 von HannesWurst vom 29.12.2021, 13:16 Options

Hi tallyHO

Leider haut es nicht ganz hin.

Ich habe Deine korrigierte Code-Zeile an die besagte Stelle eingefügt (in Form1.h).

Jetzt erhalte ich zum einen diese Fehlermeldungen:

Error	1	error C2039: 'GetSystemMetrics' : is not a member of '`global namespace''
Error	2	error C2065: 'SM_CYSCREEN' : undeclared identifier
Error	3	error C3861: 'GetSystemMetrics': identifier not found	


Das hängt vermutlich damit zusammen, dass noch Deklarationen fehlen von denen ich nicht weiß, wie sie auszusehen haben., geschweige denn an welche Stelle sie gehören.

Hast Du noch einen Denkanstoß für mich?

Ähnliche Themen

USB über C++ ansteuern
TByte  23.06.2008 - 43 Hits - 4 Antworten

eingeloggten benutzer mit batch befehl
SirTobi  27.06.2008 - 72 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026