エディットボックスの入力可能最大バイト数を取得 <TOP>
SendMessage ウィンドウにメッセージを送信
EM_GETLIMITTEXT(&HD5)
エディットボックスの入力可能最大バイト数を取得
EM_LIMITTEXT(&HC5) エディットコントロール内のテキストの文字数を制限
'================================================================ '= エディットボックスの入力可能最大バイト数を取得 '= (EM_GETLIMITTEXT.bas) '================================================================ #include "Windows.bi" ' ウィンドウにメッセージを送信 Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) #define EM_GETLIMITTEXT &HD5 'エディットボックスの入力可能最大バイト数を取得 #define EM_LIMITTEXT &HC5 'エディットコントロール内のテキストの文字数を制限する 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 LimitText As Long Var GetLimitText As Long Var Ret As Long If Edit1.GetWindowText <> "" Then LimitText = Val(Edit1.GetWindowText) Ret = Api_SendMessage(Edit1.GethWnd, EM_LIMITTEXT, LimitText, ByVal CLng(0)) End If Edit1.SetWindowText "" Edit1.SetWindowText String$(LimitText, "@") 'テキストボックスに入力可能な最大バイト数を取得 GetLimitText = Api_SendMessage(Edit1.GethWnd, EM_GETLIMITTEXT, 0, ByVal CLng(0)) '結果を表示 Text1.SetWindowText "最大" & Str$(GetLimitText) & "バイト" End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End