管理人さん、皆さん、こんにちは。お世話になります。
製作途中のネットゲームにDXライブラリを導入したいのですが、
既にネット通信の部分と、キー・マウス入力、グラフィックの描画の機能は途中まで自前で作ってあります。
ネット通信とキー・マウス入力は、ウインドウプロシージャ(WinProc)を実装しています。
まず、グラフィックの描画にDXライブラリを使おうと思い、
これは、SetUserWindowで自前のウインドウをDXライブラリに渡すことでできました。
次に、ゲームにチャット入力の機能を追加しようと思って、
リファレンスページのMakeKeyInputの項を参考にして
DrawKeyInputStringで入力中の文字を表示させようとしたのですが、
画面にカーソルのみ表示されるのですが、キーを入力しても何も文字が表示されなくて、(日本語入力をしても同様)
エンターキーを押してもカーソルが表示されたままです。
GetKeyInputStringで入力中の内容を取得して、デバッガで覗きましたが
何の入力もされていませんでした。
この現象は、自前のウインドウプロシージャでメッセージを処理しているので
キー入力のメッセージがProcessMessageで処理されないためだと考えました。
DXライブラリのソースを少し覗いてみましたが、スマートな解決方法が浮かびませんでした。
WinProcを使用しないで、DXライブラリを使って全てのメッセージを処理すれば解決すると思いますが、できれば避けたいです。
この問題は、DXライブラリの改造なしで解決できるでしょうか。
もしできなければ、どのような改造をしたらいいでしょうか。
よろしくお願いします。