エディットボックスの編集有無を判定          <TOP>


エディットボックスの内容が編集されたかどうかを判定します。

SendMessage ウィンドウにメッセージを送信

EM_GETMODIFY(&HB8) エディットコントロールの内容が変更されたかどうかをチェック

 

 
'================================================================
'= エディットボックスの編集有無を判定
'=    (EM_GETMODIFY.bas)
'================================================================
#include "Windows.bi"

' ウィンドウにメッセージを送信。この関数は、指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返さない
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

#define EM_GETMODIFY &HB8               'エディットコントロールの内容が変更されたかどうかをチェックする

Var Shared Edit1 As Object
Var Shared Text1 As Object
Var Shared Button1 As Object

Edit1.Attach getDlgItem("Edit1") : Edit1.SetFontSize 14
Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14
 
'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    'エディットボックスの編集有無を判定
    Ret = Api_SendMessage(Edit1.GethWnd, EM_GETMODIFY, 0, ByVal CLng(0))

    '判定結果表示
    If Ret = False Then
        Text1.SetWindowText "編集されていません。"
    Else
        Text1.SetWindowText "編集されました。"
    End If
End Sub

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