2008-03-27

VC++>CRichEditCtrl>ワードブレークを解除する





cricheditctrl_limitstring.png
ワードブレークあり

cricheditctrl_limitstring_wordbreak_off.png
ワードブレークなし



※「ヘヴィメタル」の赤文字がワードブレーク対象

ワードブレークを解除します。

1.自前のWordBreakProcを設定します。
::SendMessage(m_edit.m_hWnd, EM_SETWORDBREAKPROC, (WPARAM)0, (LPARAM)EditWordBreakProc);

2.自前のWordBreakProcを実装します。
// .h
static int CALLBACK EditWordBreakProc(LPTSTR lpch, int ichCurrent, int cch, int code);
// .cpp
int CALLBACK CTestDlg::EditWordBreakProc(LPTSTR lpch, int ichCurrect, int cch, int code)
{
// ワードブレイク処理を握りつぶす
return 0;
}

元ネタ
テキストボックス入力にて、ワード単位をコントロールに認識させないためには
MSDN:EM_SETWORDBREAKPROC Message
MSDN:EditWordBreakProc


追記080327
真面目にEditWordBreakを実装する場合は以下が参考になりそう。
[HOWTO] RichEdit コントロールに EditWordBreak プロシージャを実装する方法


VC6/SP5/MFC, XP/SP1
posted by travis at 16:45 | Comment(0) | TrackBack(0) | VC++
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。