More ... | 編集履歴:差分2015/09/09 10:04:07 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 - }}} |