メモ

 リッチエディットコントロールの色変更

ワードやなんかでも普通自分で選択した文字の色を変える。 そういう関数もリッチエディットコントロールにある。 しかし、今回はミスしたところを自動的に変えなければならない。 ので、間違っているところを逐次選択して色を変更して選択解除。これだ! m_r…

マルチバイト文字の扱い

1日、2日で完成させます。みたいなこと言っといていろいろつまずいてたりします。 以前同じようなソフトを作ったときはJavaScriptであったので文字列操作はほとんど気にせずに簡単にできた。半角文字「a」と全角文字「あ」が混ざっていても〜文字目の文字…

 エディットコントロールのカーソル位置取得

int iRow= ::SendMessage(m_rich2.m_hWnd,EM_LINEFROMCHAR,-1,0)+1;

 IMEで入力したカタカナを取得

「あいうえお」と入力して確定すると「アイウエオ」を取得 「三毛猫ホームズ」と入力して確定すると「ミケネコホームズ」 if(pMsg->message == WM_IME_COMPOSITION && (pMsg->lParam & GCS_RESULTREADSTR) != 0){ HIMC himc = ImmGetContext(m_rich2.m_hWnd)…

リッチエディットコントロールのキー入力検出

親ウィンドウでPreTranslateMessageを使ってコントロールに送られるメッセージを先に受け取る。 BOOL CDlgRenshu::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN){ CString str; str.Format("wp=%d, lp=%d\n",pMsg->wParam,pMsg->lParam…

変換中文字列削除

以前にJavaScriptで和文入力をしようとしたときに、どうにもできなかったのがこれ。 制限時間が来たとき、変換中の文字列はその状態のまま確定したことになってしまう。これは、リッチエディットコントロールでも同じだったが、こちらはIMEの操作ができる…

LCMapString()

LCMapString()を使ってみた。 Windows NT/2000:Windows NT 3.1 以降 Windows 95/98:Windows 95 以降 ヘッダー:winnls.h 内で宣言 char str1[10],str2[10]; cin >> str1; ::LCMapString( MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_JAPANESE…

 リッチエディットコントロール禁則処理解除

今日はいろいろとエディットコントロールについてわかった。 ちなみに、 エディットコントロール:テキストをただ入力(例:メモ帳) リッチエディットコントロール:色・大きさを変えられる(例:ワードパッド) エディットコントロールでは等幅フォントを…