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

Anonymous

unregistriert

1

06.06.2003, 00:34

Childfenster

Hallo, hab hier bei mir hier irgendein Fehler drin und find den nicht,

hab n Hauptfenster mit 2 Childfenster, in einem davon kann ich n Würfel bewegen, im anderen erscheint nur n GDI-Text.

Der Fehler ist nun wenn ich die Childfenster bewege oder die Größe ändere werden die nicht neu gezeichnet. Erst wenn ich minimiere oder den Würfel bewege.

Frage also: Was muss ich da bei .Style und bei der Nachricht WM_PAINT genau hinschreiben?

Frage2: DirectX läuft jetzt im Chldfenster1, muss man das für jedes Childfenster extra initialisieren?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

06.06.2003, 08:38

Hi,

ich kann Dir nur bei der zweiten Frage weiterhelfen.
Theoretisch ist es möglich, die Ausgabe von Direct3D auch in andere Fenster umzuleiten. Schau Dir dazu in der Dokumentation mal die Parameter von IDirect3DDevice9::Present an.

Anonymous

unregistriert

3

06.06.2003, 17:38

Hi,

danke, kuck ich mir gleich ma an,

MfG
Jan

zu den Childfenstern nochmal:
hab grad versucht bei der jeweiligen Callback da unter WM_PAINT ShowWindow und UpdateWindow hinzuschreiben, da geht überhaupt nix mehr, dann stürzt gleich alles ab beim Start,
tutorials find ich dazu leider nicht, die sind alle für mdi und mfc und davon hab ich keine ahnung,
also wer da ne lösung weiß, wäre toll

Ghandi

Treue Seele

Beiträge: 218

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

4

06.06.2003, 17:41

Also ich hab bei mir garnichts in WM_PAINT stehen, ich musste nur darauf achten das WM_PAINT von DefWindowProc verarbeitet wird, das eigentliche rendern und die gdi konnt ich dann hinschreiben wo ich wollte, und es wurde imme aktualisiert. Allerdings werden die bilder bei mir auch ständig neu gemalt.
Alles ist gut so wie es ist, am besten ist jedoch das niemand dies akzeptiert.

error C2039: 'DerSinn' : ist kein Element von 'CLeben'

Anonymous

unregistriert

5

06.06.2003, 17:55

Hi
das ging tatsächlich,
ich kan jetzt in Childfenster2 den würfel bewegen obowhl bei der DirectGraphics initialisierung Child1 stand:

D3DPRESENT_PARAMETERS D3DPPara;
...
D3DPPara.hDeviceWindow = hWndChild; // Childfenster1
...

Ist das gut so oder gehts besser?
Oder kommt da das Elternfenster rein?
Ging nämlich auch. Also irgendwie seltsam.

Nur bei der present in der eigenen Render() hab ich da das Childfenster2 dann drin. Nicht in der Initialisierung von DGraphics.

Mfg Jan

p.s. Fenster werden aber immer noch nicht richtig gezeichnet, das heisst wenn ich die überander schieb und dann wieder zusmmen dann hängt beim einem noch das stück von anderen drin, und beim anderen fehlt ne ecke usw.

Anonymous

unregistriert

6

06.06.2003, 18:00

@ghandi:

hi,

danke aber auch bei nichts in WM_PAINT und aufruf der normalen verarbeitung gehts auch noch nicht,

hab bei den ChildFenster-Callback-Funktionen also nix drin ausser der Aufruf der Windows-Callback

return DefWindowProc(hWndChild, message, wParam, lParam);

MfGjan

Ghandi

Treue Seele

Beiträge: 218

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

7

06.06.2003, 18:31

keine ahnung ob es daran liegt, oder ob du es auch so hast aber so sind die eigenschaften meines fenster:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wc3D.style= CS_HREDRAW | CS_VREDRAW | CS_OWNDC;

hWndGL=CreateWindowEx(WS_EX_CLIENTEDGE,
                            "3DChild",
                            "",
                            WS_CLIPSIBLINGS |
                            WS_CLIPCHILDREN |
                            WS_CHILD,
                            0, 0,
                            250,
                            150,
                            hWnd,
                            NULL,
                            NULL,
                            NULL);
Alles ist gut so wie es ist, am besten ist jedoch das niemand dies akzeptiert.

error C2039: 'DerSinn' : ist kein Element von 'CLeben'

Anonymous

unregistriert

8

06.06.2003, 18:55

hallo,

DANKE, jetzt weiß ich was mir fehlte
clipsiblings und clipchildren wars,

nu geht erstmal alles
und kann weiteranbauen

MfG Jan

Werbeanzeige