Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 30.06.2006, 21:31 Titel: Wo ist die Hauptschleife?? |
|
|
Hi Leute!
Habe lange nicht mehr programmiert...
und hab mir jetzt den Visual C++ 2005 Express Editor gezogen und installiert.
Bin dann gleich auf Project->CLR-->Windows Form Application gegangen.
Dort hab ich dann ein Label im Form1.h erstellt.
(Also in MFC wärs nun einfach ein Windowsfenster mit einem Textelement)
Nun will ich den Text aber ca. jede halbe Sekunde verändern, und das Programm soll von einem kurzen Satz immer das nächste Wort an der Textstelle anzeigen.
Der Verweis zu der Textstelle ist: this->label1->Text = L"EinWort";
Aber wo verdammt, ist die mainloop damit ich das überhaupt machen kann. Ich weiß für dieses Problem könnte ich auch das ganze in DirectX machen, da muss ich aber selber soviel Code schreiben...außer ich würde die Cd von Christian (Rouselle) finden und einfach den Code als Grundlage nehmen. Aber das muss doch hier auch möglich sein? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 30.06.2006, 21:40 Titel: |
|
|
Afaik wird das in der Klasse System::Windows::Forms::Form behandelt.
Die Schleife wird per Application::Run(gcnew Form1());
oder wie auch immer dein Hauptfenster heisst gestartet.
Um das zu erreichen was du möchtest empfehle ich dir einen Timer dem Fenster hinzuzufügen ihn auf 500 Millisekunden einzustellen und das Tick Ereignis abzufangen. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.07.2006, 13:26 Titel: |
|
|
Das ist doch aber nur der Konstruktor. Auf jeden Fall klappt z.B. das nicht:
Code: | this->label1->Text = L"label1";
Sleep(200);
this->label1->Text = L"1lebal";
Sleep(100); |
da steht dann nur 1lebal da. Aber es verändert sich nicht.
Und ich habe keine Ahnung wie ich da die Nachrichtenschleife einbauen kann... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 01.07.2006, 13:51 Titel: |
|
|
Application::Run führt die Nachrichtenschleife eines Objektes vom Typ Form auf welches du an Run übergeben musst, dies geschieht indem du eine Instanz erstellst und zwar mit gcnew Form1().
Du wirst daher so nicht an die Schleife herankommen.
Nun zu deiner Label Sache:
Hast du denn wie ich geraten habe die Timer Komponente in deine Form gelegt? Wenn du nicht weisst wie das geht dann bevolge einfach das hier:
Doppelklick in der Projektansicht auf dein Formular (Form1) dann die Wekzeugleiste (Toolbox) Anzeigen und eine Stopuhr suchen, diese komponente mit einem Doppelklick nun dem Formular hinzufügen.
Die Eigenschaften des Timers entsprechend anpassen (Enabled=True Intervall=500). Nun auf den Timer doppelklicken, darauf hin sollte der Quellcode angezeigt werden der dein Formular hält.
Der Cursor müsste nun in
CPP: | void label1_Tick(irgendwelche parameter)
{
} |
blinken.
Genau dort sollte die Eingabe deies Codeparts dsa tun was du möchtest.
CPP: | void label1_Tick(irgendwelche parameter)
{
static bool mb_Switch = false;
mb_Switch = !mb_Switch;
if(mb_Switch)
this->label1->Text = L"label1";
else
this->label1->Text = L"1lebal";
} |
_________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.07.2006, 14:26 Titel: |
|
|
Vielen Dank!! Es klappt.
Kennst du noch irgendeine Seite die du mir zur Programmierung mit Windows Form Application empfehlen könntest? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 01.07.2006, 18:09 Titel: |
|
|
learning by doing
Seiten kenne ich keine, aber so komplex ist die Sache nun auch wieder nicht einfach ein wenig damit spielen.
Aber mal was anderes, wieso tust du die Windowsprogrammierung mit CLR an? Hab damit nur schlechte Erfahrungen gesammelt. Willst du deine Engine damit nutzen, oder ähnliches? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.07.2006, 18:55 Titel: |
|
|
Nein, aber ich finde die CD von Christian nicht, wo das gute alte Visual C++ 6.0 Autoren Edition drauf ist. Also hab ich mich kurz im Netz umgeschaut und diese Express Version gefunden. Bei Win32 kann die aber nur ein Console Project erstellen... Und meine alten Projekte kann die ja auch nicht importieren. Wollte mal aus Spass ein etwas "anderes" Vokabellernprogramm schreiben...aber am liebsten würde ich das mit meiner "ColdWater-Engine" machen, die ich damals geschrieben hatte. Bin ganz schön über den Code erstaunt der dadrinnen steht, desto mehr will auch damit wieder weiterarbeiten. Aber dazu brauch ich wohl einen anderen Compiler... Hast du vielleicht ein Tip? Am besten wo ich die Autorenversion herkriege? Ich will halt die Funktion dass ich die Parameter von den Windowsfunktionen angezeigt bekomme, währrend ich schreibe....mehr eigentlich nicht. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.07.2006, 19:17 Titel: |
|
|
Hat sich erledigt. Ich hab jetzt die Autorenversion bei dem 21 Tage C++ Buch auf der Cd gefunden.
Ja, und Win32 Window Applications kann ich jetzt doch erstellen....aber wenn ich das nicht importieren kann, bringt es mir rein gar nichts...
Gibt es da zufällig das als externes Tool?
edit: Okay was ich fast befürchtet habe. Ich hatte die meistens Projekte anscheinend mit Visual C++ 2003 erstellt und die Project Files sind da nicht mehr .dsw....aber bei der Express kann ichs nicht importieren....bleibt mir wohl nichts anders übrig außer es neuzuinstallieren... _________________ The source of all power is in its destiny...
Zuletzt bearbeitet von TheMillenium am 01.07.2006, 19:28, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 01.07.2006, 19:18 Titel: |
|
|
IntelliSense meinst du? Das sollte doch per Standard immer aktiv sein oO
Zumindest ist es bei mir so. Ansonsten zum anderen problem, suche einfach mal hier im Forum, irgendwo gabs mal nen Thread in dem Stand wie man kostenlos zu ner legalen und anständigen VS Version kommt. Inklusive Anleitung das ganze zum laufen zu bewegen
Edit: Erstelle einfach ein neues Projekt und füge deine Daten hinzu wenn es nicht zu konvertieren geht. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
GreveN JLI Master

Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 01.07.2006, 21:58 Titel: |
|
|
Das hier? |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 01.07.2006, 22:24 Titel: |
|
|
Wow, eins muss man Patrick lassen, fleissig ist er Sauber! _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 02.07.2006, 13:57 Titel: |
|
|
Ja, IntelliSense ist bei Visual C++ immer integriert, aber ich denk nicht bei allen anderen Compilern, vor allem bei den kostenlosen.
Also hab das jetzt auf meinem anderen Rechner installiert und da geht es jetzt einwandfrei zu importieren. Muss jetzt nur wieder die Platform SDK runterladen, und dann noch die Directories von dieser SDK und der DirectX SDK hinzufügen und hoffen das alles klappt.
Also neues Projekt und alle Dateien hinzufügen hätte glaub ich nicht geklappt. Hab bei meiner Engine nämlich fünf Ordner gehabt, einer mit der Interfaceschnittstelle, einer mit der Debugging-Engine, einer den Core, Grafik und dann noch den Ressourcenmanager. Glaub nicht dass ich das alles mir wieder hätte zusammenreimen können. Ich seh ja jetzt auch fünf "Ordner" in der IDE, und für jeden öffnet sich dann Source Files, Header und Resource...
Ja, Patrick hat das sehr ausführlich gemacht. War bestimmt aufwendig das Tutorial zu erstellen. Ich kann ja Englisch da war für mich das tolle Tutorial von MS ausreichend... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
unsigned long Junior JLI'ler

Anmeldedatum: 02.07.2006 Beiträge: 52
Medaillen: Keine
|
Verfasst am: 02.07.2006, 19:13 Titel: |
|
|
Fallen hat Folgendes geschrieben: | Wow, eins muss man Patrick lassen, fleissig ist er Sauber! | Das hört man gerne von seinem Erzgegner  |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 03.07.2006, 12:16 Titel: |
|
|
unsigned long hat Folgendes geschrieben: | Fallen hat Folgendes geschrieben: | Wow, eins muss man Patrick lassen, fleissig ist er Sauber! | Das hört man gerne von seinem Erzgegner  |
Hab dich eigentlich nie als einen solchen betrachtet, gelegentlicher Zorn war zwar oft bei unseren Geplänkeln dabei aber mehr auch wieder nicht  _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
unsigned long Junior JLI'ler

Anmeldedatum: 02.07.2006 Beiträge: 52
Medaillen: Keine
|
Verfasst am: 03.07.2006, 14:15 Titel: |
|
|
Fallen
Hmn gut, wie bei mir  |
|
Nach oben |
|
 |
|