(windowsのメモ帳の機能の一つです。)
出来れば、ウインドウメッセージや、win32関数を使って切り替えたいと思っているのですが
何か方法はないでしょうか?
もしなければmesboxを破棄して、再びウインドウに配置しなおす事も考えていますが
出来ればもう少しスマートな方法で実現したいと思っています。
#include "user32.as" #define ES_AUTOHSCROLL $00000080 #define WS_HSCROLL $00100000 #define GWL_STYLE $FFFFFFF0 #define ctype p(%1,%2,%3=GetStat) str(%1)+" : "+ str(GetStat & %2) #define get(%1=-16,%2=GetStat) : GetWindowLong h , %1 : %2 = stat #define set(%1=-16,%2,%3=GetStat) : SetWindowLong h , %1 , %3 %2 ;mesboxのyサイズ #define sizey 60 screen 0,700,700 mes "*****************************************************" color ,,255 : mes "右端を折り返すmesboxから >> 右端を折り返さないmesboxへ変更" : color mes "*****************************************************" ;メッセージbox表示 msg1 = "スタイル変更前" mesbox msg1 , 300 , sizey,1 : H = objinfo_hwnd(stat) gosub *printstat msg2 = "スタイル変更後" mesbox msg2, 300 ,sizey,1 : H = objinfo_hwnd(stat) GetWindowLong H , GWL_STYLE SetWindowLong h , GWL_STYLE , stat | ES_AUTOHSCROLL | WS_HSCROLL ; 水平スクロール有効 : 水平スクロールバーを表示 gosub *printstat color ,,255 pos 300,208 : mes ";←このようスタイルは変更されているようですが\n;←メッセージボックスには反映されていない状態です" stop ;メッセージ表示 *printstat get mes P("ES_AUTOHSCROLL",ES_AUTOHSCROLL) mes P("WS_HSCROLL",WS_HSCROLL) return