コンボボックスのエディットウィンドウハンドルを取得 <TOP>
FindWindowEx
クラス名 、または
キャプションを与えてウィンドウのハンドルを取得
SendMessage ウィンドウにメッセージを送信
SetWindowText ウィンドウのタイトルを変更
'================================================================ '= コンボボックスのエディットウィンドウハンドルを取得 '= (FindWindowEx2.bas) '================================================================ #include "Windows.bi" #define CB_ADDSTRING &H143 'コンボボックスのリストボックスに文字列を追加する #define CB_SETITEMDATA &H151 'アプリケーション定義の値を設定する ' クラス名 、または キャプションを与えてウィンドウのハンドルを取得 Declare Function Api_FindWindowEx& Lib "user32" Alias "FindWindowExA" (ByVal hWndParent&, ByVal hWndChildAfter&, ByVal lpszClass$, ByVal lpszWindow$) ' ウィンドウにメッセージを送信 Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) ' ウィンドウのタイトルを変更 Declare Function Api_SetWindowText& Lib "user32" Alias "SetWindowTextA" (ByVal hWnd&, ByVal lpString$) Var Shared Combo1 As Object Var Shared Button1 As Object Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 12 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var hwndEdit As Long Var Ret As Long hwndEdit = Api_FindWindowEx(Combo1.GethWnd, 0&, ByVal 0, ByVal 0) Ret = Api_SetWindowText(hwndEdit, "FindWindowEx 取得!") Ret = Api_SendMessage(Combo1.GethWnd, CB_ADDSTRING, 0&, "FindWindowEx:Editハンドル:" & Str$(hwndEdit)) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End