VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
<< 前のTips 次のTips >>
RichTextBoxのフォントプロパティに「MSゴシック」等を設定しても、別のフォント(おそらくArial)に勝手に変更されてしまいます。これを抑制するにはSendMessageを使用します。
サンプルではフォームにRichTextBoxを2つ貼り付け、RichTextBox1側にだけ、フォントが勝手に変更されるのを抑制しています。
Private Const IMF_DUALFONT As Integer = &H80 Private Const WM_USER As Integer = &H400 Private Const EM_SETLANGOPTIONS As Integer = (WM_USER + 120) Private Const EM_GETLANGOPTIONS As Integer = (WM_USER + 121) <System.Runtime.InteropServices.DllImport("User32.dll", EntryPoint:="SendMessageA")> _ Private Shared Function SendMessage( _ ByVal hWnd As System.IntPtr, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As Integer _ ) As Integer End Function ''' <summary> ''' リッチエディットボックスのフォントが勝手に変わるのを抑制する ''' </summary> ''' <param name="RichTextBoxCtrl">フォントが勝手に変わるのを抑制するリッチテキストボックス</param> ''' <remarks></remarks> Private Sub NoRichTextChange(ByVal RichTextBoxCtrl As RichTextBox) Dim lParam As Integer lParam = SendMessage(RichTextBoxCtrl.Handle, EM_GETLANGOPTIONS, 0, 0) lParam = lParam And (Not IMF_DUALFONT) SendMessage(RichTextBoxCtrl.Handle, EM_SETLANGOPTIONS, 0, lParam) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'RichTextBoxのフォントが勝手に変わるのを抑制する NoRichTextChange(RichTextBox1) End Sub
<< 前のTips 次のTips >>