Autor Beitrag
Ashtari
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 04.09.18 13:08 
Hallo Zusammen,

erst einmal etwas zu mir... Ich bin relativ frischer Programmierer, bin 24 Jahre jung, gelernter Kaufmann und habe mich zum Studium der Wirtschaftsinformatik entschieden, da ich mich mehr mit der Anwendungsentwicklung beschäftigen möchte. Also - ich bin wirklich ein "Newbie" - ich hoffe die Frage wird hier nicht direkt die Leute zum schmunzeln bringen :?

Ich habe mir mit einem Udemy Kurs privat Swift Grundlagen beigebracht und habe jetzt in der Uni (komme jetzt ins 2. Semester) einen C++ Kurs belegt. Dort wurde die GUI mit Winforms erstellt - nur leider ist der Prof auch nur in einer Vorlesung kurz auf Winforms ein gegangen und im Web findet man wirklich, wirklich wenig Hilfestellungen o.ä. zu Winforms, weshalb ich zu Gott bete das ich hier Anworten finde :? :lol:

Was ist mein Plan:

Ich möchte ein Spiel programmieren - mit Winforms. Ne einfache UI mit einem Info Button, einem Ende Button, einem Gameplay Button.
Alle drei Btns mit jeweiligen Click-events, die dann eine Seite anzeigen.

Das Info Fenster enthält dann lediglich ausgefüllte Labels mit etwas bla bla über das Spiel und über mich, sowie Uni Krams (Matrikelnummer etc.)und ein Back-Button.
Highscore Fenster enthält eine Textbox, welche den Highscore des Spielers abspeichern soll und einen Back-Button.
Das Gameplay Fenster enthält ein Grafikfenster, welches ein Spielbackground malen soll (ziemlich rudimentär) und ein Männchen malen soll.

Soweit - so gut.

Ich habe die Fenster jetzt alle fertig, habe die Click-Events eingefügt und ein Ende Btn. im Startbild hinterlegt.

Problem Mein Click-Event funktioniert nicht. Ich habe mit einem Doppel-Linksclick das Clickevent eingefügt und ihm dann den Befehl gegeben
 btn_info::show; (btn_info ist mein Impressum Button).

Jetzt spiele ich schon seit 2-3 Stunden herum aber.. Ich komme partout nicht auf die Lösung.
Er soll mir einfach nur das andere Fenster anzeigen. Müsste ich jetzt nicht mit dem btn_info::show schon entsprechendes hinbekommen? Oder muss ich noch meinen Startscreen mit form1::hide; o.ä. verbergen?

Wenn ich dahoaim bin werd ich noch etwas Code nachschießen..

Vielen Dank für eure Antworten. :!:

Ashtari.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 04.09.18 15:00 
Auch wenn das Internet nicht viel zu c++ in .Net hergibt die Microsoft Doku (MSDN) hat eigentlich immer auch C++ Codebeispiele.
Und zu Winforms selbst gibt es Unmengen aber halt nicht in C++. Ein andere Form in deinem Click Event würdest du mit C++ so nicht-modal öffnen

ausblenden C++/CLI
1:
2:
3:
4:
5:
void button_Click(Object^ sender, System::EventArgs^ e)
{
   MyLovelyOtherDialog^ form = gcnew MyLovelyOtherDialog;
   form->Show();
}


Moderiert von user profile iconTh69: C#- durch Code-Tags ersetzt


Zuletzt bearbeitet von Ralf Jansen am Di 04.09.18 16:41, insgesamt 1-mal bearbeitet
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 04.09.18 15:06 
Hallo und :welcome:

leider muß ich dir sagen, daß du mit C++ (d.h. eigentlich ja C++/CLI !) und WinForms die schlechteste Wahl getroffen hat, s.a. Windows Forms und Visual C++ MACHT KEINEN SINN!
Bei neueren VS-Versionen gibt es auch kein C++/CLI WinForms-Projekt mehr als Vorlage.

Die Hauptsprache für .NET (also auch für WinForms) ist C# (das man ja auch am Namen dieses (Sub-)Forums "C#- & .NET Programmierung" sieht ;- ).

Solltest du jedoch wirklich mit nativem C++ weiterentwickeln, dann solltest du ein dafür passendes UI-Framework (wie Qt, GTK+, wxWidgets, ...) nehmen. Oder sogar explizit für Spiele SFML (Simple and Fast Multimedia Library).
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Di 04.09.18 18:18 
Hi,

auch wenn ich eher WPF nutze und kein freund von C++ bin, so sieht das hier...

ausblenden C++-Quelltext
1:
 btn_info::show;					


...für mich so aus, als würdest du versuchen den Button anzuzeigen und nicht dein Form. Sprich, müsste da nicht so etwas wie form3::show(); stehen? Außerdem wundert mich, das die Fehlenden klammern hinter den show nicht bemängelt werden. Waren die bei C++ nicht zwingend?

Kann aber auch sein, dass ich auf dem komplett falschen Dampfer bin. Wie gesagt, nicht wirklich meine Welt ;).

Gruß
Ashtari Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 04.09.18 19:01 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo und :welcome:

leider muß ich dir sagen, daß du mit C++ (d.h. eigentlich ja C++/CLI !) und WinForms die schlechteste Wahl getroffen hat, s.a. Windows Forms und Visual C++ MACHT KEINEN SINN!
Bei neueren VS-Versionen gibt es auch kein C++/CLI WinForms-Projekt mehr als Vorlage.

Die Hauptsprache für .NET (also auch für WinForms) ist C# (das man ja auch am Namen dieses (Sub-)Forums "C#- & .NET Programmierung" sieht ;- ).

Solltest du jedoch wirklich mit nativem C++ weiterentwickeln, dann solltest du ein dafür passendes UI-Framework (wie Qt, GTK+, wxWidgets, ...) nehmen. Oder sogar explizit für Spiele SFML (Simple and Fast Multimedia Library).


Gnarf... Ich habe mir so gedacht 'Hey, wenn der Prof das in der Uni lehrt, dann müsste es doch eigentlich auch gut klappen' und habe mich bei der Projekt festlegung für WinForms entschieden.. Irgendwann wurde mir dann klar das es ziemlich blöd und ziemlich kompliziert wird,... Aber das sogar die Leute die schon etwas Erfahrung haben das WinForms da eigentlich ne doofe idee ist,.. Da hab ich ja richtig inne Kacke gegriffen :D
Dann sollte ich evtl. wirklich einfach auf die Spezifikation "Winforms" pfeiffen und mir da ein paar Abzüge in der B-Note einfangen ..
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 05.09.18 08:16 
Für ein einmaliges Projekt kannst du das sicherlich verwenden (wenn es dir dann auch für dein Studium hilft), aber du solltest eben nicht erwarten, daß du diese Kombination später noch mal sehen wirst (und somit dieses weiterverwenden kannst).

Und viele Profs haben LEIDER einmal vor Jahren (oder Jahrzehnten) mal ein Skript erstellt und verwenden dies dann Jahr für Jahr in ihren Vorlesungen, ohne den Lauf der Zeit zu beachten und Verbesserungen daran vorzunehmen! Im C++ Forum gibt es auch noch viele Beispiele, wo dann "C mit cout" als C++ gelehrt wird (d.h. technologisch so etwa Mitte der 90iger Jahre stehengeblieben sind - mittlerweile gibt es ja in kürzeren Abständen neuere C++ Standards: C++11, C++14, C++17 - und an C++20 wird schon gearbeitet).