VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 RichTextBox 関係のメニュー
1.RichTextBox コントロールに関するワンポイントテクニック集
2.RichTextBox コントロールの内容を印刷する方法
3.選択範囲の文字列を縦方向の指定位置に表示する(上揃え/下揃え)
4.RichTextBox に画像を縦横比を保持したまま指定サイズに伸縮して表示 
5.RichTextBox で左右のマージンを設定する
6.
7.
8. 
9. 
10. 
11.
12.
 . 
20.その他、当サイト内に掲載の RichTextBox に関するサンプル 


5.RichTextBox で左右のマージンを設定する(22_Rtf_05) (旧、SampleNo.264)
1.RichTextBox で左右のマージンを設定する
  左側の余白部分をクリックするとワードパッドや Word と同様に1行全体が選択できるようになる
2.
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :System.Runtime.InteropServices
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.RichTextBox で左右のマージンを設定する

Imports System.Runtime.InteropServices


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'テキストボックス及びリッチテキストボックスで左右のマージンを設定する
    '左右の余白を20ピクセル分設定
    SendMessage(RichTextBox1.Handle, EM_SETMARGINS, EC_LEFTMARGIN Or EC_RIGHTMARGIN, (20 And &HFFFF) Or (20 * &H10000))

    '左余白を20ピクセル分設定
    SendMessage(RichTextBox2.Handle, EM_SETMARGINS, EC_LEFTMARGIN, 20)

'これで、左側の余白部分をクリックするとワードパッドや Word と同様に1行全体が選択できるようになる

End Sub


<DllImport("USER32.DLL", CharSet:=CharSet.Auto)> _
Private Shared Function SendMessage( _
    ByVal hWnd As IntPtr, _
    ByVal wMsg As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Integer) As Integer
End Function

Private Const EM_SETMARGINS As Integer = &HD3   'リッチテキストボックスの左右の余白の幅を設定します
Private Const EC_LEFTMARGIN As Integer = &H1    '左マージンを設定
Private Const EC_RIGHTMARGIN As Integer = &H2   '右マージンを設定


  図1.上記設定前                図2.上記設後
 vb2013richtextbox05_1 vb2013richtextbox05_2

リッチテキストボックスでテキストを表示した場合左側の枠線と文字が重なるように表示され見にくいので左側に少し余白を儲けたい場合等に使用して下さい。
又、これで左側の余白部分をクリックするとワードパッドや Word と同様に1行全体が選択できます。
但し、VB6.0 やワードパッドでは、余白部分にカーソルを持っていくとカーソルの形が変わるのですが、VB.NET 系では変わりません。(バグ Or 仕様?その他キャレット等の動作も違ったりします。)

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 



このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。