X Fenster eine Nachrichtenschleife
-
Wie kann ich überhaupt x Fenster mit einer Nachrichtenschleife und nur einer WndProc verwalten?
Ich möchte ne Fensterklasse proggen, aber die WndProc ist mal wieder ein Problem.
-
Was genau ist das Problem? Du kannst doch problemlos mehrere Fenster mit der selben Fensterklasse erstellen, Sinn macht das aber wohl nur, wie sich dich Fenster auch irgendwie ähneln. Und dann bekommst du in der WndProc ja das Fensterhandle und kannst dir damit dann auch die ID des Fensters holen - damit solltest du dann eigentlich alles haben, um zwischen den einzelnen Fenstern zu unterscheiden...
-
such mal von Nvida das Demoprogramm Nature - dort sieht man auch sehr schön wie mehrere Fenster nur eine Nachrichtenschleife benutzen - wie flenders gesagt hat, werden verschiedene Fenster über den WindowHandle unterschieden
-
Hat jemand eventuell zu dieser Thematik einen Loink bzw. Codeschnippsel?
-
guck dir den Source vom Nvida Demoprogramm Nature an - kannst mich ruhig auch fragen wenn dir da etwas im Source mit der Fensterverwaltung nicht klar ist
-
Hab mirs grad ausm net geladen.
-
Es sind ne ganze Mengen Dateien dazu, welche soll ich angucken??
[Ich habe leider ein bisschen Zeitdruck]
-
Ich habe leider ein bisschen Zeitdruck
Den hat jeder
- schau dir die Dateien an die mit Window anfangen
- geh einfach der WinMain nach und guck mal wie da die Fenstererstellung funktioniert - vielleicht hock ich mich heute Abend hin und extrahiere die wichtigen sachen aus dem Quelltext
-
Bin grad dabei ....
-
class Window { void Create() { WNDCLASSEX wc; wc.lpWndProc = Window::WndProc; ... } static LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){ // Was muss nun hier rein??? } }Kann mir noch jemand den restlichen Kram geben, den ich brauche in der WndProc.
-
http://turing.fh-landshut.de/~jamann/OOPWinAPI.zip
such nach dem wort magic

-
-
Der Nvidia Code ist echt der schönste, den ich je gesehen habe
-
Das geht schon:
window win; win.set_title("HALLO!!!");Das könnte man auch noch machen:
win.addItem(new Label("Hallo Welt!"));
-
wenn mehrere Leute daran Interessiert sein kann ich das mal schön ausprogrammieren
-
Schön wars, wenn du es mal ausprogrammierst.

-
mmmh finde momentan keine Zeit das zu schreiben - tut mir leid - muss mein Angebot zurück nehmen
-
Nur als Anmerkung zur Ursprungsfrage: Das ist doch normal, dass man eine Nachrichtenschleife (Message_pump) hat und zig Fenster... was soll da so besonders daran sein? Die meisten UI-Programme haben für die UI nur ein Thread (da die Fenster eh blos für einen Thread ausgelegt sind und nicht Threadsafe sind).
-
schon etwas länger her - aber jetzt funktioniert der oben gezeigte Code:
http://turing.fh-landshut.de/~jamann/IMB/IMB.html
-
Vertexwahn schrieb:
schon etwas länger her - aber jetzt funktioniert der oben gezeigte Code:
http://turing.fh-landshut.de/~jamann/IMB/IMB.htmlIdeologisch motiviertes Bastelwerk, halbherzig zusammengeschustert durch weltfremden Langzeitstudenten ohne Taxischein.