エディットボックスの編集有無を判定 <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