● 編集処理各種 ●

・宣言
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

・使用例各種

◎切り取り

   定数 : WM_CUT = &H300
   書式 : Call SendMessage(Text1.hWnd, WM_CUT, 0, ByVal 0&)


◎コピー

   定数 : WM_COPY = &H301
   書式 : Call SendMessage(Text1.hWnd, WM_COPY, 0, ByVal 0&)


◎貼り付け

   定数 : WM_PASTE = &H302
   書式 : Call SendMessage(Text1.hWnd, WM_PASTE, 0, ByVal 0&)


◎削除

   定数 : WM_CLEAR = &H303
   書式 : Call SendMessage(Text1.hWnd, WM_CLEAR, 0, ByVal 0&)


◎元に戻せるか(Undoできるか)調べる

   定数 : EM_CANUNDO = &HC6
   書式 : ReturnValue=SendMessage(Text1.hWnd, EM_CANUNDO, 0, ByVal 0&)
   戻り値 : 0 → 元に戻せない    0以外 → 元に戻せる


◎元に戻す

   定数 : EM_UNDO = &HC7
   書式 : Call SendMessage(Text1.hWnd, EM_UNDO, 0, ByVal 0&)


◎元に戻す情報が格納されているバッファをクリアする

   定数 : EM_EMPTYUNDOBUFFER = &HCD
   書式 : Call SendMessage(Text1.hWnd, EM_EMPTYUNDOBUFFER, 0, ByVal 0&)


◎テキストボックス変更されたかを知る

   定数 : EM_GETMODIFY = &HB8
   書式 : ReturnValue=SendMessage(Text1.hWnd, EM_GETMODIFY, 0, ByVal 0&)
   戻り値 : 0 → 変更されていない    1 → 変更されている


◎テキストボックスの変更フラグを設定する

   定数 : EM_SETMODIFY = &HB9
   書式 : Call SendMessage(Text1.hWnd, EM_SETMODIFY, 設定値, ByVal 0&)
   設定値 : 0 → 変更フラグをリセットする


◎テキストボックスの現在の最大行数を取得する

   定数 : EM_GETLINECOUNT = &HBA
   書式 : ReturnValue=SendMessage(Text1.hWnd, EM_GETLINECOUNT, 0, ByVal 0&)
   備考 : Multiline=True となっている必要がある


◎テキストボックスの現在の行番号(最初の行=0)を取得する

   定数 : EM_LINEFROMCHAR = &HC9
   書式 : ReturnValue=SendMessage(Text1.hWnd, EM_LINEFROMCHAR, -1, ByVal 0&)
   備考 : Multiline=True となっている必要がある

戻る