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

Schwarzefee

Treue Seele

  • »Schwarzefee« ist der Autor dieses Themas

Beiträge: 155

Wohnort: Ost-Sachsen

Beruf: Programmierer

  • Private Nachricht senden

1

07.04.2012, 18:54

[wxWidgets] Input

Hi,

ich schreibe eine Anwendung mit wxWidgets, in der u.A. per DirectX in einem wxPanel gerendert werden soll.
Leider hab ich Probleme mit dem Input. Sowohl DirectInput als auf OIS bringen Fehler beim setzten des Coop-Levels.

C-/C++-Quelltext

1
hr = this->DeviceKeyboard->SetCooperativeLevel(this->hWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE);

Das gleiche bei der Maus.

Das Window-Handle hab ich per wxWidgets geholt

C-/C++-Quelltext

1
Panel->GetHWND()




Ist es irgendwie möglich, in dem wxPanel auf Maus-Eingaben zu reagieren?



Gruß

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

07.04.2012, 20:52

Die Dokumentation von DirectInput sagt:

Zitat

hwnd:
Window handle to be associated with the device. This parameter must be a valid top-level window handle that belongs to the process. The window associated with the device must not be destroyed while it is still active in a DirectInput device.

Dein Panel ist wohl nur ein "Kind" eines Fensters und somit kein Top Level Window.
Probier es mal mit dem Handle des gesamten Fensters.

Schwarzefee

Treue Seele

  • »Schwarzefee« ist der Autor dieses Themas

Beiträge: 155

Wohnort: Ost-Sachsen

Beruf: Programmierer

  • Private Nachricht senden

3

07.04.2012, 23:36

Hi,

danke für die Antwort.

Das Problem ist, dass ich nur in einem Teil eines Fensters rendern will. Gibts da auch irgend eine Möglichkeit?


Gruß

Schwarzefee

Treue Seele

  • »Schwarzefee« ist der Autor dieses Themas

Beiträge: 155

Wohnort: Ost-Sachsen

Beruf: Programmierer

  • Private Nachricht senden

4

08.04.2012, 14:12

Ist es vielleicht irgendwie möglich, mit wxWidgets die Klicks auf das Panel anzufangen und an DirectX zu schicken?


Gruß

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

08.04.2012, 14:54

Warum so umständlich?
Wenn du mittels wxWidgets die Eingabe schon erhalten kannst, warum willst du dann unbedingt DirectInput benutzen?

Werbeanzeige