これまた使う機会がなさそう…。こんなコードを書くより BorderStyle を 「0 - なし」とした方が自然。
'ウインドウスタイルを変更する
'ウインドウスタイルを取得する
'ウインドウの位置を変更する
Private Const WS_CAPTION = &HC00000 Private Const GWL_STYLE = (-16) 'ウインドウスタイルを取得・変更 Private Const SWP_NOMOVE = &H2 '移動しない Private Const SWP_NOSIZE = &H1 'サイズ変更しない Private Const SWP_NOZORDER = &H4 'ZOrderを変更しない Private Const SWP_FRAMECHANGED = &H20 Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED 'フレーム描画する
'--------------------------------------------------------------------------- ' 関数名 : DeleteTitleBar ' 機 能 : タイトルバーを消す ' 引 数 : (in)hWnd … 対象ウィンドウのハンドル ' 返り値 : なし '--------------------------------------------------------------------------- Public Sub DeleteTitleBar(ByVal hWnd As Long) Dim WinStyle As Long 'タイトルバーの状態を取得 WinStyle = GetWindowLong(hWnd, GWL_STYLE) WinStyle = WinStyle Xor WS_CAPTION 'タイトルバーの状態を変更 WinStyle = SetWindowLong(hWnd, GWL_STYLE, WinStyle) 'フレームを再描画 Call SetWindowPos(hWnd, 0, 0, 0, 0, 0, _ SWP_DRAWFRAME Or SWP_NOZORDER Or SWP_NOMOVE Or SWP_NOSIZE) End Sub
|