by 7 » 2006年4月09日(日) 18:57
テキストエディタを作っていて、メモ帳の「右端で折り返す」を実装しようと思ったんですけど、うまくいきません。
テキストを中央揃えにするかしないかを試しにやってみたらうまくいったので間違ってはいないと思うんですけど...。
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
Dim hMainEdit As HWND
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
hMainEdit=GetDlgItem(hMainWnd,EditBox1)
End Sub
Sub MainWnd_CommandButton1_Click()
Dim style As LONG_PTR
style=GetWindowLong(hMainEdit,GWL_STYLE)
' If style And ES_CENTER Then
If style And ES_AUTOHSCROLL Then
' style-=ES_CENTER
style-=ES_AUTOHSCROLL
Else
' style+=ES_CENTER
style+=ES_AUTOHSCROLL
End If
SetWindowLong(hMainEdit,GWL_STYLE,style)
SetWindowPos(
hMainEdit,
NULL,
NULL,NULL,
NULL,NULL,
SWP_FRAMECHANGED or SWP_NOMOVE or SWP_NOSIZE)
End Sub
テキストエディタを作っていて、メモ帳の「右端で折り返す」を実装しようと思ったんですけど、うまくいきません。
テキストを中央揃えにするかしないかを試しにやってみたらうまくいったので間違ってはいないと思うんですけど...。
[hide][code]Dim hMainEdit As HWND
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
hMainEdit=GetDlgItem(hMainWnd,EditBox1)
End Sub
Sub MainWnd_CommandButton1_Click()
Dim style As LONG_PTR
style=GetWindowLong(hMainEdit,GWL_STYLE)
' If style And ES_CENTER Then
If style And ES_AUTOHSCROLL Then
' style-=ES_CENTER
style-=ES_AUTOHSCROLL
Else
' style+=ES_CENTER
style+=ES_AUTOHSCROLL
End If
SetWindowLong(hMainEdit,GWL_STYLE,style)
SetWindowPos(
hMainEdit,
NULL,
NULL,NULL,
NULL,NULL,
SWP_FRAMECHANGED or SWP_NOMOVE or SWP_NOSIZE)
End Sub[/code][/hide]