文字列の置換(T)          <TOP>


SendMessage ウィンドウにメッセージを送信
EM_REPLACESEL(&HC2) エディットコントロール内の現在の選択項目を置き換える
 

例では、選択した文字列が置換文字列に変換されたことを表しています。

 

'================================================================
'= 文字列の置換
'=    (EM_REPLACESEL.bas)
'================================================================
#include "Windows.bi"

' ウィンドウにメッセージを送信
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

#define EM_REPLACESEL &HC2              'エディットコントロール内の現在の選択項目を置き換える

Var Shared Text(1) As Object
Var Shared Edit(1) As Object
Var Shared Button1 As Object

For i = 0 To 1
    Text(i).Attach GetDlgItem("Text" & Trim$(Str$(i + 1))) : Text(i).SetFontSize 14
    Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1))) : Edit(i).SetFontSize 14
Next
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var sReplaceSel As String
    Var Ret As Long

    '置換文字列を指定
    sReplaceSel = Edit(0).GetWindowText

    '選択文字列を置換
    Ret = Api_SendMessage(Edit(1).GethWnd, EM_REPLACESEL, 0, sReplaceSel)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End