CRichEditCtrl::LimitTextについて教えてください。

[戻る]
丸さん 2002/10/18(金) 13:40:52
CRichEditCtrl::LimitTextを使って文字列の上限を決めたいのですが、MFCにはバイト単
位で上限の値を設定すると書いてあるのですがやってみた結果、文字数単位で上限を決
めているみたいなのです。(例:上限を100バイトとしてすると全角の場合200バイト半
角の場合100バイト入力できてしまう)どうにかしてバイト単位で上限を決定したのです
がどうしたらよいでしょうか?ご教授ください。

以下に設定したソースをあげます。

CRichEditCtrl RichEdit;
RichEdit.Create( ENM_DRAGDROPDONE|WS_CHILD | ES_LEFT | ES_AUTOHSCROLL,
                crc, this, IDC_DETAIL_EDIT);

RichEdit.LimitText(g_FieldLength[FieldIndex[i]]);

環境:XP,VC++6.0,MFC,SDKプラットホーム

dairygoods 2002/10/18(金) 14:10:59
LimitTextの動作は、XPにて仕様変更されています。
http://www.microsoft.com/japan/support/kb/articles/J067/8/99.htm

バイト数で制限しようと思ったら、LimitTextに頼らず
自分でWM_CHARやWM_COPYなどをハンドルするしかなさそうです。

丸さん 2002/10/18(金) 14:24:04
[[解決]]
仕様変更の確認をしました。なんとか自前で作ってみます。dairygoodsさん情報提供あ
りがとうございました。

古いスレッドには追加発言できません。