More ... | 編集履歴:差分記録開始と2015/09/09 09:46:03 JST間のオブジェクトの表示されている文字列(タイトル)を取得するだけのモジュールの変更箇所
+ ブジェクトの表示されている文字列(タイトル)を取得するだけのモジュール + {{{ + #module gettext + + #define INVALID_HANDLE_VALUE $FFFFFFFF + #define WM_GETTEXT $0000000D + #define WM_GETTEXTLENGTH $0000000E + + #uselib "user32.dll" + #cfunc GetWindowTextLength "GetWindowTextLengthA" int + + #deffunc textshutoku var p1 , int handle// , local textlength + + if handle==INVALID_HANDLE_VALUE : return 0 + + textlength= GetWindowTextLength(handle) + //sendmsg handle, WM_GETTEXTLENGTH : textlength=stat //sendmsgでWM_GETTEXTLENGTHを送ってもいい + memexpand p1,textlength+1 + sendmsg handle, WM_GETTEXT, textlength+1,varptr(p1) + poke p1,textlength,0 + return textlength + + #global + + //サンプル + + //ウィンドウスタイル + #define WS_CHILDWINDOW $40000000 + #define WS_VISIBLE $10000000 + #define WS_VSCROLL $00200000//縦スクロールバー + #define WS_HSCROLL $00100000//横スクロールバー + #define ES_AUTOHSCROLL $00000080//横に自動でスクロール + #define ES_AUTOVSCROLL $00000040//縦にに自動でスクロール + + //ウィンドウスタイル(エディトコントロール専用) + #define ES_READONLY $00000800//書き換え禁止 + #define ES_MULTILINE $00000004//mesbox化 + #define ES_NUMBER $00002000//数字のみを入力できるようにする + + //拡張ウィンドウスタイル + #define WS_EX_CLIENTEDGE $00000200//mesboxと同じ縁 + + #define WM_SETTEXT $0000000C + + sdim texttmp + + winobj "edit" , "" , WS_EX_CLIENTEDGE , WS_HSCROLL | WS_VSCROLL | WS_CHILDWINDOW | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL , ginfo_winx/2 , ginfo_winy-25 + + pos ginfo_winx/2,0 + winobj "edit" , "" , WS_EX_CLIENTEDGE , ES_READONLY | WS_HSCROLL | WS_VSCROLL | WS_CHILDWINDOW | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL , ginfo_winx-ginfo_winx/2 , ginfo_winy-25 + + pos 0,ginfo_winy-25 + objsize ginfo_winx,25 + button gosub "左から右にコピー",*fukusha + + stop + + *fukusha + textshutoku texttmp , objinfo_hwnd(0) + sendmsg objinfo_hwnd(1) , WM_SETTEXT ,, texttmp + return + }}} |