DOBON.NET DOBON.NETプログラミング掲示板過去ログ

[C#]RichTextBoxの選択したフォント変更について

環境/言語:[.NET4.0 / C# / Win7]
分類:[.NET]

よろしくお願いしますm(_ _)m

RichTextBoxで選択した文字のフォントがそれぞれ違う場合、SelectionFontの情報はほとんど空の状態で返されます(BoldがfalseやNameが空白)

その時に"太字"を設定するときにどのようにすればいいか悩んでいます

言い換えると
選択している文字がすべて同じフォントじゃないと太字や斜体などの設定がうまくできないということです

Webで検索してもいいのが出ません
参考になるサイトがあればいしえてください
できればソースも教えてください
■No28332に返信(meruruさんの記事)
> その時に"太字"を設定するときにどのようにすればいいか悩んでいます
API を使っても良いなら、EM_SETCHARFORMAT について調べてみてください。

書式指定の構造体(CHARFORMAT/CHARFORMAT2)に対して、
.dwEffects に CFE_BOLD を指定して、
.dwMask に CFM_BOLD のビットマスクを立てれば良いハズ。


> できればソースも教えてください
サンプルを書く程の余裕が無いので…上記のキーワードで検索してみてください。
手掛かりになりそうなコードが見つかるかも。
http://stackoverflow.com/questions/1632951/help-how-do-i-set-the-richtextbox-selectionfont-fontfamily-without-changing-the
http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/d6dff1eb-234b-495e-997f-1b726a00ea61
■No28333に返信(魔界の仮面弁士さんの記事)
> ■No28332に返信(meruruさんの記事)
>>その時に"太字"を設定するときにどのようにすればいいか悩んでいます
> API を使っても良いなら、EM_SETCHARFORMAT について調べてみてください。
>
> 書式指定の構造体(CHARFORMAT/CHARFORMAT2)に対して、
> .dwEffects に CFE_BOLD を指定して、
> .dwMask に CFM_BOLD のビットマスクを立てれば良いハズ。
>
>
>>できればソースも教えてください
> サンプルを書く程の余裕が無いので…上記のキーワードで検索してみてください。
> 手掛かりになりそうなコードが見つかるかも。
> http://stackoverflow.com/questions/1632951/help-how-do-i-set-the-richtextbox-selectionfont-fontfamily-without-changing-the
> http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/d6dff1eb-234b-495e-997f-1b726a00ea61
ごめんなさい
投稿間違えました

今の実装はループでまわして言ってるのですがあまりWinAPIが分からなくて^^;
もうちょっと頑張っていきたいと思います^^
解決済み!
2011/03/21(Mon) 21:33:16 編集(投稿者)

■No28335に返信(meruruさんの記事)
> 投稿間違えました
[ご質問投稿に関するルール]を再読願います。
http://dobon.net/vb/bbs/index.html

『解決していない質問のスレッドを「解決済み」にしないでください。』


> 今の実装はループでまわして言ってるのですがあまりWinAPIが分からなくて^^;
時間が空いたのでサンプルを書いてみました。拡張メソッドにしてあります。
http://www.vb-user.net/junk/replySamples/2011.03.21.21.10/RichTextBoxExtensions.cs.TXT

利用するときは、
 richTextBox1.SetBold(true);
 richTextBox1.SetItalic(false);
という感じでどうぞ。

DOBON.NET | プログラミング道 | プログラミング掲示板