多くのソフトで見られるテキストエリアみたいな
自由に日本語を入力できる機能を作りたくて、色々調べています。
しかし、色々調べてほんの数行のコードのテストから試しているのですが、
どれも上手く動かなかったり、imm.h に構文エラーが有ると100以上のエラーが出たりして
全く感触が掴めずにいます・・。
何か最低限でも動作するものが有れば何か掴めると思い
MSDNのimeサンプルを落としてみたのですが、何故かコンパイルすら動作せず;
さらに調べるうちに
「vistaでは動作しない」 「immについての解説書籍はない」 「少しの環境差でも動作しなくなる」
などの情報が目に付いて、
何が原因で動かないのか混乱しています;
とても多くのソフトで日本語入力を当たり前のように扱っているので
動作するのが当たり前だとは思うのですが・・。
immを扱った経験が有る方、
immを扱う手順や、注意点などが有りましたら
教えては頂けませんでしょうか、
環境はVisualC++2008 OS:XP Pro(SP3)です。
みなさんはどうやって日本語入力を実装しているのでしょうか・・?
immとは一体どういう手順で実装されるものなのでしょうか・・orz
No.2ベストアンサー
- 回答日時:
>多くのソフトで見られるテキストエリアみたいな
>自由に日本語を入力できる機能を作りたくて、色々調べています。
メモ帳と同じ事がしたいだけでしたら#1さんの回答を参考にしてください。
>「vistaでは動作しない」 「immについての解説書籍はない」 「少しの環境差でも動作しなくなる」
VistaからTSF(と呼ばれる物が)がIMEのエミュレーションを行っています。
(SP1以前はこのエミュレーションに問題があったのですがSP1で大分改善されています。)
MSは将来的にIMEをこのTSFに置き換えたいようです。
猫でもわかるのサンプルにある
http://www.kumei.ne.jp/c_lang/sdk3/sdk_278.htm
にあるようなコードはそのままVistaでは動かなかった覚えがありますが
::ImmDisableTextFrameService(-1);(TSFを無効にする)を
最初に実行するとVistaでも動くようになったと思います。
(XP SP2でもTSFが有効だと同じ問題が発生します。)
もしIMEの見た目や候補リスト等を全て自分で操作したいなら、
DirectX SDKのサンプルCustomUIの中にあるImeUi.cppというサンプルコードも参考になると思います。
TSFに関しても考慮されており、DirectXの部分を切り離して使う事も可能です。
http://msdn.microsoft.com/ja-jp/directx/default. …
>MSは将来的にIMEをこのTSFに置き換えたいようです。
そうなのですね;
>::ImmDisableTextFrameService(-1);(TSFを無効にする)を
>最初に実行するとVistaでも動くようになったと思います。
>(XP SP2でもTSFが有効だと同じ問題が発生します。)
なんと・・。
仕様変更時期なのですかね orz
>DirectX SDKのサンプルCustomUIの中にあるImeUi.cppというサンプルコード
SDKは入っているので、早速見てみました。
これが理想かもしれません・・!
何やら共有?のソースが多いらしく、扱い方が難しそうですが
少し切り張りして試してみようと思います。
ありがとうございましたっ
No.3
- 回答日時:
VC2008のエディションは何ですか?
お作りのアプリケーションのタイプは何でしょう?
確かコンソールアプリを作っているのですよね
Win32SDKで作成しているなら Imm系で制御といった場合もあると思います
.NET Frameworkで作成しているのですと Imm.hをインクリュードするのに必要なヘッダーがImm.hより先にインクリュードしないといけないといった制限がありそうです
ご回答ありがとうございます;
>Microsoft Visual C++ 2008 Express Edition
で
>Win32 Console Application(多分)
を使っています。
DirectXで3Dゲームを作っていて、
いわゆるオンラインゲームのチャットバーみたいな物を作りたくて、
1行分(100文字未満)を稼動中に取得して、
・ワードに反応するキャラクター
・命令文に目的語を付けて、複雑な操作を個人好みに簡略化できる仕組み
などを作りたく思っています orz
「1行分の日本語文字列を、稼動中にchar配列等に格納」さえ出来れば何でも・・
と言った感じです orz
imm32.lib というものも一応ライブラリでリンクしているはずなのですが・・
もう少し自分なりにも調べてみますね、
No.1
- 回答日時:
環境によっていろいろ方法が変わりますがほとんどの人はimmとか使ってないでOSに任せてるのではないでしょうか。
テキストエリアであればリソースのEDITTEXTかCreateWindowでTEXTコントロールを作るのがほとんどでしょう
ご回答ありがとうございます、
なるほど・・OSに任せられるならば楽なのですね;
DirectXでゲームとして作っているのですが、
稼動中のものに最前面にそれを表示させる・・事ができれば簡単そうに思えるのですが・・orz
用途によって仕組みが違うのですね;
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【JavaScript】confirmのボタン...
-
webシステムでchrome
-
DirectXとOpenGLはどちらが動作...
-
コールバック関数
-
Ajax.requestでphpファイルを習...
-
呼び出し元のURLを知りたいのです
-
HTMLファイルにテキストファイ...
-
ローカル用HTMLファイルの安全...
-
SRAM製品の同期・非同期の違い
-
ASP.NET(VB)VBソースからJavas...
-
JSTLを利用してJavascriptの結...
-
テキストファイルの内容を変数...
-
html化とは
-
JK-FFを使う非同期10進・2進カ...
-
RTLの書き方について 非同期リ...
-
フォームからjQuery,jQuery.jso...
-
HTMLでDBからデータを表形式で...
-
OVERLAPPED構造体が分かりませ...
-
C#でUDP通信
-
ブラウザを閉じた瞬間にログアウト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【JavaScript】confirmのボタン...
-
DirectXとOpenGLはどちらが動作...
-
[JavaScript] preven...
-
JQuery サーバー上にアップする...
-
読み取り専用が外れない
-
ASP.netで作成したシステムのip...
-
imm(日本語入力)が上手く行きま...
-
webシステムでchrome
-
PC自動操作ソフト
-
windows11ではアンドロイドアプ...
-
Stroage HTA
-
ASP.NET 動的に行を増やすTable
-
DelphiでSelectDirectoryを..
-
C言語のif文について教えてくだ...
-
Excel2019 VBA の objIE
-
jQueryについて教えてください
-
身のこなしの意味は動作ですか?
-
amazon販売の、microSD2枚→SDア...
-
saved from url=(0013)abou
-
jsonテキストデータの並び替え...
おすすめ情報