トップページ > 過去ログ > 記事閲覧
KeyInputStringについて
名前:蝶灼 日時: 2012/06/18 11:59

KeyInputStringのサンプルソースコードについてなのですが、 環境 windows vista sp1 Microsoft Officeは入っていません。 IMEは日本IMEのみ です。 全角文字入力中の文字が表示されません。 これは、バグでしょうか?仕様でしょうか? 何とか、表示させたいのですが、何か代用などできないでしょうか? 一方的な質問でしみませんが、よろしくお願いします。

Page: 1 |

Re: KeyInputStringについて ( No.1 )
名前:いっち 日時:2012/06/18 18:42

私の環境では特に問題ないようでした。 ご使用のDXライブラリのバージョンはおいくつでしょうか?
Re: KeyInputStringについて ( No.2 )
名前:蝶灼 日時:2012/06/18 20:12

DXライブラリ Ver3.08b です。 この掲示板にある、他のプログラムも 試しましたがどれもおなじでした。 よろしくお願いします。
Re: KeyInputStringについて ( No.3 )
名前:いっち 日時:2012/06/18 20:21

VC用ですか?
Re: KeyInputStringについて ( No.4 )
名前:蝶灼 日時:2012/06/18 21:18

VC++2008EEです。 たびたびすみません。
Re: KeyInputStringについて ( No.5 )
名前:いっち 日時:2012/06/18 21:39

デバッガ上で動作させた場合、VCの出力ウィンドウ(タブ)に色々とログが出ると思うのですが、 事象発生時の出力ウィンドウの内容を全て貼り付けていただけますか?
Re: KeyInputStringについて ( No.6 )
名前:蝶灼 日時:2012/06/18 22:32

VISTAの方には開発環境は何も入ってなくて 2:システムの情報を出力します 811: DXライブラリ Ver3.08b 824: 論理プロセッサの数 : 2 837: OS Windows7 ( Build 7601 Service Pack 1 ) 964: CPU動作速度:大体2.52GHz 978: SSE命令が使用可能です 997: SSE2命令が使用可能です 1006: CPUベンダ:GenuineIntel 1057: CPU名:Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz 1077:COMの初期化... 成功しました 1101:メモリ総量:979.17MB 空きメモリ領域:292.84MB 1114:タイマーの精度を検査します 1125:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 1135: パフォーマンスカウンターを使用します タイマー精度 : 2467.802000 KHz 1156: ソフトの二重起動検査... 二重起動はされていませんでした 1189:ウインドウクラスを登録します... 登録に成功しました 1210:ウインドウモード起動用のウインドウを作成します 1226:ウインドウの作成に成功しました 1322:IMEを無効にしました 1334:ウインドウスタイルをウインドウモード用に変更します... 完了 1353:DirectInput関係初期化処理 1362: DirectInput7 の取得中... 成功 1389: 引き続き初期化処理... 初期化成功 1411: ジョイパッドの初期化... 1422: ジョイパッドの初期化は正常に終了しました 1432: マウスデバイスの初期化... 初期化成功 1459: キーボードデバイスの初期化... 初期化成功 1488:DirectInput 関連の初期化は正常に終了しました 1503:DirectSound の初期化を行います 1514:DirectSound インターフェースの取得を行います.... 成功 1536:引き続きインターフェースの初期化処理... 成功 1657: DirectSound デバイスを列挙します 1668: モジュール名: ドライバ記述:プライマリ サウンド ドライバー 1678: モジュール名:{0.0.0.00000000}.{d299e150-ac7a-4d94-9747-c4c95014dba6} ドライバ記述:スピーカー / ヘッドホン (IDT High Definition Audio CODEC) 1687: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 1696: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 1705: 利用可能サンプリング精度 1714: プライマリ 16bit = OK 8bit = OK 1724: セカンダリ 16bit = OK 8bit = OK 1733: 利用可能チャンネル 1742: プライマリ MONO = OK STEREO = OK 1751: セカンダリ MONO = OK STEREO = OK 1761:DirectSound の初期化は正常に終了しました 1777:DirectDraw オブジェクトの取得を行います.... 成功 1799:引き続き初期化処理... 初期化に成功しました 1842:IDirect3D9Ex オブジェクトを取得します.... 成功 1863:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します 2153:成功 2163:Driver:igdumdx32.dll Description:Mobile Intel(R) 4 Series Express Chipset Family 2173:画面のフォーマットは D3DFMT_X8R8G8B8 です 2182:Zバッファのフォーマットは D3DFMT_D16 です 2191:16bit カラーフォーマットは D3DFMT_R5G6B5 です 2200:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 2227:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 2240:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 2252:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 2263:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 2274:DXT1テクスチャフォーマットはD3DFMT_DXT1 です 2284:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です 2295:DXT3テクスチャフォーマットはD3DFMT_DXT3 です 2306:DXT4テクスチャフォーマットはD3DFMT_DXT4 です 2317:DXT5テクスチャフォーマットはD3DFMT_DXT5 です 2328:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です 2339:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 2351:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 2362:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 2373:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 2384:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 2395:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 2406:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 2417:描画用1チャンネル不動少数点16ビット型カラーフォーマットは D3DFMT_R16F です 2426:描画用1チャンネル不動少数点32ビット型カラーフォーマットは D3DFMT_R32F です 3274:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 3289:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 4122:描画用2チャンネル不動少数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 4136:描画用2チャンネル不動少数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 4150:同時にレンダリングできるバッファの数:4 4165:最大テクスチャサイズ 幅:4096 高さ:4096 4178:テクスチャステージテンポラリレジスタ:使用可 4192:減算合成のハードウェア対応:ネイティブ 4205:ハードウェア頂点シェーダーバージョンコード:300 4219:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 4233:ピクセルシェーダーバージョンコード:300 4299:バックバッファロック転送の時間:2908nsec 一時的な描画可能バッファを使用した転送の時間:1440nsec 4308:バックバッファロックを使用しません 4317:Zバッファを作成します.... 成功 4374:プログラマブルシェーダーを使用します 4465:フォントの初期化を行います 4476:フォントの初期化は正常に終了しました 4496:文字コードバッファの初期化を行います... 完了しました 5608:ウインドウを閉じようとしています 5644:ウインドウが破棄されようとしています 5654:ソフトを終了する準備が整いました 5698:mem alloc size: 0( 0.000kb) file: line:0 ID:56 addr:0048ecd0 data:<> ] 5717:mem free size: 0( 0.000kb) file: line:0 ID:56 addr:0048ecd0 data:<> ] 5736:mem alloc size: 0( 0.000kb) file: line:0 ID:57 addr:0048ecd0 data:<> ] 5755:mem free size: 0( 0.000kb) file: line:0 ID:57 addr:0048ecd0 data:<> ] 5823:フォントの初期化を行います 5833:フォントの初期化は正常に終了しました 5843:Direct3DDevice9 の解放 3 5865:Direct3D9 DLL の解放 4 5877:DirectInput 関連の終了処理... 完了 5921:DirectSound の終了処理は正常に終了しました 5962: 5972:Alloc memory dump 5981: Total size:0(0.000kb) Alloc num:0 5991: で作ったEXEを 0:システムの情報を出力します 0: DXライブラリ Ver3.08b 0: 論理プロセッサの数 : 4 0: OS WindowsVista ( Build 6002 Service Pack 2 ) 115: CPU動作速度:大体2.37GHz 116: MMX命令を使用します 117: SSE命令が使用可能です 118: SSE2命令が使用可能です 119: CPUベンダ:GenuineIntel 123: CPU名:Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz 124:COMの初期化... 成功しました 187:メモリ総量:3069.03MB 空きメモリ領域:1849.67MB 189:タイマーの精度を検査します 190:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 191: パフォーマンスカウンターを使用します タイマー精度 : 14318.180000 KHz 193: ソフトの二重起動検査... 二重起動はされていませんでした 197:ウインドウクラスを登録します... 登録に成功しました 199:ウインドウモード起動用のウインドウを作成します 201:ウインドウの作成に成功しました 223:IMEを無効にしました 225:ウインドウスタイルをウインドウモード用に変更します... 完了 229:DirectInput関係初期化処理 231: DirectInput7 の取得中... 成功 253: 引き続き初期化処理... 初期化成功 299: ジョイパッドの初期化... 345: 入力装置を見つけました 348: デバイスの登録名:USB Joystick 349: デバイスの製品登録名:USB Joystick 351: 周期的エフェクトの作成に失敗しました。 352: ジョイパッドの追加は正常に終了しました 353: ジョイパッドの初期化は正常に終了しました 354: マウスデバイスの初期化... 初期化成功 356: キーボードデバイスの初期化... 初期化成功 359:DirectInput 関連の初期化は正常に終了しました 360:DirectSound の初期化を行います 361:DirectSound インターフェースの取得を行います.... 成功 365:引き続きインターフェースの初期化処理... 成功 413: DirectSound デバイスを列挙します 414: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 416: モジュール名:{0.0.0.00000000}.{e4abcc5d-354c-442d-81af-bac1528df8f5} ドライバ記述:スピーカー (High Definition Audio デバイス) 417: モジュール名:{0.0.0.00000000}.{b40cba36-06f5-4e53-8a69-5a1a2861e00e} ドライバ記述:デジタル出力デバイス (SPDIF) (High Definition Audio デバイス) 418: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 419: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 420: 利用可能サンプリング精度 421: プライマリ 16bit = OK 8bit = OK 422: セカンダリ 16bit = OK 8bit = OK 423: 利用可能チャンネル 425: プライマリ MONO = OK STEREO = OK 426: セカンダリ MONO = OK STEREO = OK 427:DirectSound の初期化は正常に終了しました 430:DirectDraw オブジェクトの取得を行います.... 成功 433:引き続き初期化処理... 初期化に成功しました 453:IDirect3D9Ex オブジェクトを取得します.... 成功 457:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します 750:成功 752:Driver:nvd3dum.dll Description:NVIDIA GeForce 210 753:画面のフォーマットは D3DFMT_X8R8G8B8 です 754:Zバッファのフォーマットは D3DFMT_D16 です 755:16bit カラーフォーマットは D3DFMT_R5G6B5 です 757:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 758:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 759:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 760:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 761:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 763:DXT1テクスチャフォーマットはD3DFMT_DXT1 です 764:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です 765:DXT3テクスチャフォーマットはD3DFMT_DXT3 です 766:DXT4テクスチャフォーマットはD3DFMT_DXT4 です 767:DXT5テクスチャフォーマットはD3DFMT_DXT5 です 768:描画用 16bit カラーフォーマットは D3DFMT_R5G5B5 です 770:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 771:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 772:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 773:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 775:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 776:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_L8 です 777:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_L16 です 778:描画用1チャンネル不動少数点16ビット型カラーフォーマットは D3DFMT_R16F です 780:描画用1チャンネル不動少数点32ビット型カラーフォーマットは D3DFMT_R32F です 781:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 783:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 784:描画用2チャンネル不動少数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 785:描画用2チャンネル不動少数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 786:同時にレンダリングできるバッファの数:4 788:最大テクスチャサイズ 幅:8192 高さ:8192 789:テクスチャステージテンポラリレジスタ:使用可 791:減算合成のハードウェア対応:ネイティブ 792:ハードウェア頂点シェーダーバージョンコード:300 793:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 794:ピクセルシェーダーバージョンコード:300 806:バックバッファロック転送の時間:186nsec 一時的な描画可能バッファを使用した転送の時間:786nsec 807:バックバッファロックを使用します 809:Zバッファを作成します.... 成功 826:プログラマブルシェーダーを使用します 901:フォントの初期化を行います 904:フォントの初期化は正常に終了しました 919:文字コードバッファの初期化を行います... 完了しました 20468:フォントの初期化を行います 20470:フォントの初期化は正常に終了しました 20472:Direct3DDevice9 の解放 3 20565:Direct3D9 DLL の解放 4 20568:DirectInput 関連の終了処理... 完了 20595:DirectSound の終了処理は正常に終了しました 20614:ウインドウを閉じようとしています 20636:ウインドウが破棄されようとしています 20638:ソフトを終了する準備が整いました 20672: 20673:Alloc memory dump 20675: Total size:0(0.000kb) Alloc num:0 20676: で動かすと全角文字の変換中が表示されません。 Windows7では表示されます。 XPでも表示されます。 Windows7、XPはMicrosoft Office2003、2010が入ってます。
Re: KeyInputStringについて ( No.7 )
名前:いっち 日時:2012/06/18 23:28

Log上は特に問題ないようです。使用しているIMEは何でしょうか?
Re: KeyInputStringについて ( No.8 )
名前:蝶灼 日時:2012/06/19 00:27

Windows7,vistaどりらも日本IMEです。
Re: KeyInputStringについて ( No.9 )
名前:いっち 日時:2012/06/19 01:21

日本語IMEにもATOKやGoogleなど種類がいくつかあります。 デフォルトのMS製ということでしょうか?
Re: KeyInputStringについて ( No.10 )
名前:蝶灼 日時:2012/06/19 02:14

そうです。 Microsoft OfficeIMEやATOK、Googleは、はいっていません。 Windows7のほうはキングオフィスでした。 キングオフィスはIMEの類はないようです。
Re: KeyInputStringについて ( No.11 )
名前:いっち 日時:2012/06/19 21:13

私ではあまりお役に立てないようです。 他の方の回答をお待ち下さい。
Re: KeyInputStringについて ( No.12 )
名前:蝶灼 日時:2012/06/20 08:58

いっちさんありがとうございました。 自分の見解としては、VISTAの仕様かバグが原因ではないかと思っています。 他の方にも自分がコンパイルしたのを試してもらったのですが、表示されないようでした。
Re: KeyInputStringについて ( No.13 )
名前:管理人 日時:2012/06/25 23:37

すみません、DXライブラリのバグです 以前 Windows7 で同様の現象がご報告されたので対処したのですが、 その現象が Vista でも発生していた、ということでした Vista でも Windows7 と同様の処理を行うことで入力中の文字が表示されるようになりました こちらに修正版をアップしましたので、よろしければお使いください m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
Re: KeyInputStringについて ( No.14 )
名前:蝶灼 日時:2012/06/26 15:46

早速と試したのですが、やはりダメでした。 バージョンは変わってないようでしたが、 中身はかわってたのでしょうか? 管理人さんありがとうございました。
Re: KeyInputStringについて ( No.15 )
名前:管理人 日時:2012/06/27 01:16

はい、バージョンは3.08bのままですが中身は変わっています こちらに私の手元で Vista で入力中の全角文字列が表示されることが確認できている実行ファイルを アップしてみましたので、よろしければ蝶灼さんの環境でも正常に動作するか試してみていただけないでしょうか? https://dxlib.xsrv.jp/file/KeyInputStringTest.zip 実行ファイルのソースは以下のようなウインドウモードでただ KeyInputString を呼び、 入力終了後に入力された文字列をウインドウのクライアント領域左上に表示するというプログラムです #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウインドウモードで起動 ChangeWindowMode( TRUE ); // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; char string[ 256 ] ; KeyInputString( 100, 100, 256, string, TRUE ) ; DrawString( 0, 0, string, GetColor( 255,255,255 ) ) ; WaitKey() ; DxLib_End() ; return 0 ; }
Re: KeyInputStringについて ( No.16 )
名前:蝶灼(解決) 日時:2012/06/27 17:55

ファイルの方ありがとうございました。 早速試したところ正常に動作しました。 自分の環境で改めてインクルードしなおしたところ 大丈夫でした。 お忙しいところいろいろありがとうございました。 ちなみに、この掲示板に半角カタカナで(トウジ)と名前をしたところ「蝶灼」このような名前で表示されてました。 混乱を招くと思い解決するまでこの名前をつかいました。 この度は、本当にありがとうございました。

Page: 1 |