Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

26.01.2007, 08:22

Windows Forms Frage

Hallo,
ich habe mit Visual c++ Express Edition ein Windows Form Projekt erstellt.
Mit diesem Projekt öffne ich eine Reihe von .txt-Files.
Ich lasse ein Fenster anzeigen wo der aktuelle Fortschritt angezeigt wird (mit einen Fortschrittsbalken).
Funktioniert auch bis hier alles ganz gut.
ABER wenn ich das Fenster während des einlesens verschiebe, dann hinterläßt es eine Spur von Fenstern, also es sieht aus als ob es 30 Fenster gibt.
Meine Frage ist also, muss ich irgendwas mit dem Fenster machen während ich die Files einlese?

Ich hoffe man kann verstehen was ich meine..

2

26.01.2007, 11:01

Ich weiß nicht wie es bei C++ geht, bei C# löst sich das Problem, wenn ich meiner Anwendungen in gewissen Abschnitten mitteile, das es seine Events verarbeiten soll.

3

26.01.2007, 11:07

ja genau das wird es wohl sein.
Kannst du mal einen Code-Ausschnitt zeigen wie das geht?
Sorry ich bin noch Anfänger...

4

26.01.2007, 14:18

Öm das wird dir nicht viel bringen da ich es ja in C# mache.

Das wäre dann so

C-/C++-Quelltext

1
2
3
4
5
//  innerhald der schleife welche die Daten liest

//...

// lese den nächsten Block an Daten

//...

Application.DoEvents();


Wie gesagt in C++ bringt dir das nichts.

Für die Nachrichtenverarbeitung in c++ gibt es ja die Funktionen 'GetMessage', 'TranslateMessage' und 'DispatchMassege'. Die rufst du auch in dieser reihenfolge auf.

Also wenn du deine Datei in einer Schleife ausliest könntest du das ja an den Anfang der Schleife einbauen.

Ich vermute mal das du MFC verwendest und ich bin mir da nicht sicher ob sich das dann nicht beißt. Wenn ja gibt es garantiert auch eine Funktion mit der du die Nachrichtenverarbeitung erzwingen kannst.
Falls hier keiner was weiß kanst du bei google und der msdn mal nach "force mfc messagehandling" suchen. Eventuell findest du da was.

5

26.01.2007, 14:24

also C# und c++ sind doch sehr ähnlich.
Die Schreibweise ist etwas unterschiedlich, aber die Beispiele die in der Hilfe sind, sind auch fast alle in C#, und die bekomme ich in der Regel auch zum laufen.
Vielen Dank für deine Antwort, ich denke jetzt komm ich weiter.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

26.01.2007, 18:03

Zitat von »"Foxy"«

also C# und c++ sind doch sehr ähnlich.


Wo siehst du denn da eine Ähnlichkeit? Es sei denn du verwendest C++/CLI und das ist kein C++ mehr, sondern irgendeine seltsame Unterart die nichts mit der Sprache gemein hat.
Wenn du C++ in Verbindung mit der WinAPI verwendest solltest du tun was chriss gesagt hat.

grüße
@D13_Dreinig

7

26.01.2007, 18:09

Sorry, dann verwende ich wohl C++/CLI.
Wie gesagt bin noch Anfänger.

Werbeanzeige