VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
<< 前のTips 次のTips >>
RichTextBoxのフォントプロパティに「MSゴシック」等を設定しても、別のフォント(おそらくArial)に勝手に変更されてしまいます。これを抑制するにはSendMessageを使用します。
サンプルではフォームにRichTextBoxを2つ貼り付け、RichTextBox1側にだけ、フォントが勝手に変更されるのを抑制しています。
private const uint IMF_DUALFONT = 0x80; private const uint WM_USER = 0x0400; private const uint EM_SETLANGOPTIONS = WM_USER + 120; private const uint EM_GETLANGOPTIONS = WM_USER + 121; [System.Runtime.InteropServices.DllImport("USER32.dll")] private static extern uint SendMessage( System.IntPtr hWnd, uint msg, uint wParam, uint lParam); /// <summary> /// リッチエディットボックスのフォントが勝手に変わるのを抑制する /// </summary> /// <param name="RichTextBoxCtrl">フォントが勝手に変わるのを抑制するリッチテキストボックス</param> private void NoRichTextChange(RichTextBox RichTextBoxCtrl) { uint lParam; lParam = SendMessage(RichTextBoxCtrl.Handle, EM_GETLANGOPTIONS, 0, 0); lParam &= ~IMF_DUALFONT; SendMessage(RichTextBoxCtrl.Handle, EM_SETLANGOPTIONS, 0, lParam); } private void Form1_Load(object sender, EventArgs e) { //richTextBox1のフォントが勝手に変わるのを抑制する NoRichTextChange(richTextBox1); }
<< 前のTips 次のTips >>