- PR -

確定前の文字列取得

投稿者投稿内容
のり
会議室デビュー日: 2007/03/15
投稿数: 12
投稿日時: 2008-01-22 10:37
VB2005で開発しております。

テキストボックスに入力された内容の確定する前(下線がある状態)の
状態を取得するにはどうすればよいのでしょうか?
ご教授お願い致します
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-01-22 10:57
引用:

のりおだすさんの書き込み (2008-01-22 10:37) より:

テキストボックスに入力された内容の確定する前(下線がある状態)の状態を取得するにはどうすればよいのでしょうか?


'確定する前に入力されている Key を取得する' ではなく、文面のままで "確定する前の状態であることを取得する" で良いのでしょうか?

WM_IME_COMPOSITION あたりのメッセージを監視するという原始的な方法くらいしか思いつきませんでした。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
のり
会議室デビュー日: 2007/03/15
投稿数: 12
投稿日時: 2008-01-22 14:31
ご回答ありがとうございます。

説明不足&下手で申し訳ありません。

取得したい内容は入力した内容です
「い」と入力し、Enterで確定しなくても「い」という文字を取得したいと
考えています。

具体的にやりたいことはGoogleサジェストのような入力補完です
http://www.google.co.jp/webhp?complete=1&hl=ja
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2008-01-22 14:45
ImmGetCompositionString APIだったと思う。

IME周りはIMEの種類やバージョンによって挙動が変わったりと苦労が多いと聞きます。がんばってください。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-01-22 14:57
引用:

のりおだすさんの書き込み (2008-01-22 14:31) より:

取得したい内容は入力した内容です
「い」と入力し、Enterで確定しなくても「い」という文字を取得したいと考えています。


ProcessCmdKey メソッドをオーバーライドして、LParam から得るという方法もあります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
馬岱
常連さん
会議室デビュー日: 2007/12/05
投稿数: 21
お住まい・勤務地: 五丈原
投稿日時: 2008-01-22 17:15
具体的な運用がわからないので何とも言えないのですが、
TextChangedで拾って済ませたりは出来ないものなのでしょうか。
_________________
こえ部やめました(つд`)
のり
会議室デビュー日: 2007/03/15
投稿数: 12
投稿日時: 2008-01-25 13:14
ご回答ありがとうございます
遅くなりすみません。

馬岱様
TextChangedでは、半角文字の入力ならば問題ないですが、全角文字の場合は確定を
しないと入力した文字を取得することができません。


じゃんぬねっと様、甕星様
教えていただいた技術はどちらも未経験なので、いろいろと調べてみます。
また、質問するかもしれませんがよろしくお願い致します。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-01-25 13:43
引用:

のりおだすさんの書き込み (2008-01-25 13:14) より:

馬岱様
TextChangedでは、半角文字の入力ならば問題ないですが、全角文字の場合は確定を
しないと入力した文字を取得することができません。



馬岱さんはそれがわかった上で、「確定後に取得する」という仕様に変更することは
できないのか? ということを仰りたいのだと思います。

スキルアップ/キャリアアップ(JOB@IT)