Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Andere GUIs - Qt, GTK+, wxWidgets ::  wxWidgets Anfängerfragen: Wohin mit dem eigenen Programmcode?     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
xenayoo
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.06.2012
Beiträge: 45
Beitrag xenayoo Mitglied 13:48:33 06.07.2012   Titel:   wxWidgets Anfängerfragen: Wohin mit dem eigenen Programmcode?            Zitieren

Hallo,

ich bin rein zufällig über wxWidgets gestolpert. das ist eine feine Sache. Allerdings: Im Gegensatz zu den VisualStudio-Lösungen von M$, gibt es ausschließlich englische Dokumentationen. Und bevor hier die üblichen weisen Ratschläge kommen:
-Ich habe das Tutorial durchgearbeitet (welches übrigens ohne IMPLEMENT_APP() auskommt)-> http://www.wxwidgets.org/docs/tutorials/hello.htm
-Ich habe auch die Artikel im Magazin gelesen.

Hilfreiche Bemerkungen wie "Dann lies dir die Dokumentation XYZ durch" sind oft auch wenig sinnvoll, da dies im Regelfall geschehen ist. Wenn keine Fragen offen geblieben wären, gäbe es keine Forumsbeiträge... ;-)

Rahmenbedingungen: Ich verwende wxDev C++, welches komplett mit integrierten wxWidgets downloadbar ist und einen grafischen Formdesigner beinhaltet. Dieser ist nicht ganz so komfortabel wie sein VS-Pendant, aber er funktioniert mit Einarbeitung. Das Hello World-Programm habe ich erfolgreich erstellt.

Meine Fragen:
-Wenn man ein neues Projekt erstellt und dabei wxFrame-Projekt wählt, legt die IDE 6 Dateien an (Das Projekt heißt angenommenermaßen TestApp)
-TestAppApp.cpp
-TestAppApp.h
-TestAppApp.rc
-TestAppFrm.h
-TestAppFrm.cpp
-TestAppFrm.wxform
Anhand der Endung ist leicht erkennbar, um wass es sich handelt. Trotzdem stehe ich gerade da wie der Ochse vorm Berg.
Heiß es nicht, dass jedes C++ Programm eine Funktion namens Main() hat? Wo ist sie? Zwar habe ich gelesen, dass diese über ein Macro namens IMPLEMENT_APP(TestAppFrmApp) generiert wird, aber wo schreibe ich meinen Programmcode hin?

Danke Jens

PS: Eventuell kann dies zu einem kleinen Tutoriel für die Verwendung von wxWidgets werden.
xenayoo
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.06.2012
Beiträge: 45
Beitrag xenayoo Mitglied 14:44:15 06.07.2012   Titel:              Zitieren

Ok, ich geb mir die Antwort selber:

Beispielsweise schreibt man eine eigene Klasse 'MeineKlasse'. Am besten implementiert man 'MeineKlasse' in einer eigenen Datei MeineKalsse.cpp und die Prototypen dazu in MeineKlasse.h

MeineKlasse wird dann in der Funktion
C++:
1
2
3
4
5
6
7
8
bool TestAppFrmApp::OnInit()
{
    TestAppFrm* frame = new TestAppFrm(NULL);
    SetTopWindow(frame);
    frame.Show();
    MeineKlasse Instanz = new MeineKlasse(Parameter1 , ...);  // <- Hier!
    return true;
}

instaziert.

Die weiteren Methoden der eigenen Klasse werden z.B. in den Controllelementen aufgerufen, etwa Buttons etc.

In diesem Sinne

Jens

P.S.: Mal sehen, wer den Fehler bemerkt....


Zuletzt bearbeitet von xenayoo am 14:46:24 06.07.2012, insgesamt 1-mal bearbeitet
Scorcher24
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.12.2004
Beiträge: 2361
Beitrag Scorcher24 Mitglied 02:01:48 07.07.2012   Titel:              Zitieren

Gibt im Magazin 2 Artikel dazu.

_________________
Sometimes it pays to stay in bed in Monday, rather than spending the rest of the week debugging Monday's code. ~Dan Salomon
Meine Projekte
phlox81
Moderator

Benutzerprofil
Anmeldungsdatum: 21.04.2001
Beiträge: 7365
Beitrag phlox81 Moderator 02:28:33 07.07.2012   Titel:              Zitieren

Hoffe du erzeugst nicht wirklich in einer Funktion lokale Variablen mit new ohne sie wieder freizugeben.
Ansonsten, ja im Magazin stehen dazu 2 gute Artikel...

_________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | The Black Board | Code Node | Xing | Blog | C++ Kurs | Meeting C++ | Twitter
xenayoo
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.06.2012
Beiträge: 45
Beitrag xenayoo Mitglied 12:51:01 13.07.2012   Titel:              Zitieren

phlox81 schrieb:
Hoffe du erzeugst nicht wirklich in einer Funktion lokale Variablen mit new ohne sie wieder freizugeben.
Ansonsten, ja im Magazin stehen dazu 2 gute Artikel...


That's it. Wenn ich die Instanz lokal erzeug, ist sie natürlich nach Verlassen der Funktion wieder weg! Habe die zwei Artikel gelesen und hatte erst so meine Probleme damit. Später ist mir dann wieder eingefallen, dass es in c' genauso läuft. Die Instanz wird GLOBAL erzeugt und die Memberfunktionen natürlich lokal in den Funktionen von Buttons etc. aufgerufen.

Wie sagt man so schön: Ich sah den Wald vor lauter Bäumen nicht.....

übrigens: In meinem Eigangsposting schrieb ich: Ich habe die 2 Artikel im Magazin gelesen.....

Danke


Zuletzt bearbeitet von xenayoo am 12:52:37 13.07.2012, insgesamt 1-mal bearbeitet
c++.de :: Andere GUIs - Qt, GTK+, wxWidgets ::  wxWidgets Anfängerfragen: Wohin mit dem eigenen Programmcode?   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.