通知
すべてクリア
Topic starter
2002年10月18日 1:40 PM
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プラットホーム
2002年10月18日 2:10 PM
LimitTextの動作は、XPにて仕様変更されています。
http://www.microsoft.com/japan/support/kb/articles/J067/8/99.htm
バイト数で制限しようと思ったら、LimitTextに頼らず
自分でWM_CHARやWM_COPYなどをハンドルするしかなさそうです。
Topic starter
2002年10月18日 2:24 PM
仕様変更の確認をしました。なんとか自前で作ってみます。dairygoodsさん情報提供あ
りがとうございました。