回答編集履歴
1
フォームのスタイル変更用プロシージャ追記
answer
CHANGED
@@ -106,4 +106,44 @@
|
|
106
106
|
End If
|
107
107
|
|
108
108
|
End Sub
|
109
|
+
```
|
110
|
+
|
111
|
+
---
|
112
|
+
|
113
|
+
191128 20:22 追記
|
114
|
+
|
115
|
+
```vba
|
116
|
+
Public Sub ChangeUserFormStyle(inFormCaption As String)
|
117
|
+
Const ClassNameOfVBAUserFrom = "ThunderDFrame"
|
118
|
+
'このフォームのハンドルを取得。
|
119
|
+
Dim hWnd As LongPtr
|
120
|
+
hWnd = FindWindow(ClassNameOfVBAUserFrom, inFormCaption)
|
121
|
+
If hWnd = 0 Then
|
122
|
+
'取得できていない
|
123
|
+
Stop
|
124
|
+
End If
|
125
|
+
|
126
|
+
Dim wStyle As LongPtr
|
127
|
+
wStyle = GetWindowLongPtr(hWnd, GWL_STYLE)
|
128
|
+
'リサイズ可能・最大化・最小化ボタンフラグを立てる
|
129
|
+
wStyle = (wStyle Or WS_THICKFRAME Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX)
|
130
|
+
Call SetWindowLongPtr(hWnd, GWL_STYLE, wStyle)
|
131
|
+
|
132
|
+
Dim hMenu As LongPtr
|
133
|
+
hMenu = GetSystemMenu(hWnd, 0&)
|
134
|
+
Dim rClose As API_BOOL
|
135
|
+
rClose = DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
|
136
|
+
If rClose <> apiTrue Then
|
137
|
+
'何か失敗している
|
138
|
+
Stop
|
139
|
+
End If
|
140
|
+
|
141
|
+
Dim wRet As API_BOOL
|
142
|
+
wRet = DrawMenuBar(hWnd)
|
143
|
+
If wRet <> apiTrue Then
|
144
|
+
'何か失敗している
|
145
|
+
Stop
|
146
|
+
End If
|
147
|
+
|
148
|
+
End Sub
|
109
149
|
```
|