|
▼hatena さん:
>動作検証できるように宣言部も含めて、実際に動作するコードを提示してもらえませんか。
Public Declare Function SetWindowPos Lib "USER32" _
(ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, _
ByVal fuFlags As Long) As Long
Public Declare Function GetSystemMenu Lib "USER32" _
(ByVal hWnd As Long, ByVal fRever As Long) As Long
Public Declare Function RemoveMenu Lib "USER32" _
(ByVal hMenu As Long, ByVal uItem As Long, ByVal fuFlags As Long) As Long
Public Const SWP_NOMOVE = &H2
Public Const HWND_TOP = &H0
Public Const SC_SIZE = &HF000
Public Const MF_BYCOMMAND = &H0&
Dim hWnd As Long
hWnd = Application.hWndAccessApp
SetWindowPos hWnd, HWND_TOP, 0, 0, 960, 720, SWP_NOMOVE
hWnd = GetSystemMenu(hWnd, 0)
RemoveMenu hWnd, SC_SIZE, MF_BYCOMMAND
>あと、OSのバージョンも提示してください。
Windows7
Access2010,Access2016Runtime
です。
Access2010で作成し、Access2010で実行すると問題ないですが、
Access2016Runtimeで実行すると症状が出ます。
※Access2016で作成したものは多分ならないと思います。
>Accessウィンドウを表示しない方法 Access2007以降版 - hatena chips
>hatenachips.blog.fc2.com/blog-entry-389.html
>
>
>なお、RemoveMenu や DeleteMenu でリサイズを無効にした場合、マウスをフォームの境界に持っていくと、リサイズ可能カーソルに変化するのに、リサイズできないという矛盾した状態になりますので、SetWindowLon で、WS_THICKFRAME属性を除去する方法の方が私は好みです。
ご教授ありがとうございます。
上記のURLを参考に、SetWindowLon で、WS_THICKFRAME属性を除去したらマウスをフォームの境界に持っていっても、最小化/最大化/閉じるボタンがクラッシックスタイル表示に変わらなくなりました。
変更した点は以下です。
Public Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Const SWP_DRAWFRAME = &H20
Public Const GWL_STYLE = (-16)
Public Const WS_THICKFRAME = &H40000
Wstyle = GetWindowLong(hWnd, GWL_STYLE)
Wstyle = Wstyle And Not WS_THICKFRAME
SetWindowLong hWnd, GWL_STYLE, Wstyle
を追加し、SetWindowPosを
SetWindowPos hWnd, HWND_TOP, 0, 0, 960, 720, SWP_NOMOVE Or SWP_DRAWFRAME
に変更。
ただ、タイトル部分にマウスを移動してタイトルをクリックするとまだ最小化/最大化/閉じるボタンがクラッシックスタイル表示に変わります。
ダブルクリックしたり、クリックしたままドラッグ移動すると消えるのですが、何故そうなるのか不明です。
何か原因が判りましたらご教授お願いいたします。
|
|