«前の日記(2004-08-27) 最新 次の日記(2004-08-29)» 編集

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2004-08-28 古い日記からの変換データ [長年日記]

_ [hyCalendar]全角スペースの扱い

0.8.4 向けに,起動時にIMEを自動有効にするオプションを追加.ついでに,TODOリストビューにおいて,チェックボックスのON・OFF切り替えを半角スペースだけでなく全角スペースでも取り扱えるようにしてみた.

MS-IMEの状態取得では,JP・ENのモード切替が起こっても「変換モードの取得」では設定が取得されないことが判明.しかも IME は ON になっていると判定される.TListView は,EN モードのときのスペースキー押下は半角スペースとして扱うが,JP モードの「半角英数」入力時とプログラム側からの区別ができなかった.

仕方がないので,KeyDown イベント時にチェックボックスの状態を保存しておいて,その後飛んでくる KeyPress 時にチェックボックスの状態が既に変わっていれば処理済みなのでイベントをそのまま捨てて,チェックボックスの状態が変わっていなければIME の半角英数が有効なので半角スペースかどうか判定する,という微妙な処理で実装した.

ちなみに,全角スペースは,KeyDown ではトラップできずKeyPress で2回(2バイト分)のイベントが飛んでくることで判定している.我ながらひどい実装.

お名前:
E-mail:
右の画像に書かれている文字列を入力してください:
コメント: