Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


73862 / 76732 ←次へ | 前へ→

【7343】Re:最大化ボタンを無効(有効)にする
回答  bykin  - 03/9/2(火) 20:54 -

引用なし
パスワード
   こんばんわ。

API使わんと無理やと思うねんけど・・・
使ってええんやったら、こんな感じかな?

(標準モジュール)
Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Declare Function GetWindowLong Lib "user32" _
             Alias "GetWindowLongA" _
            (ByVal hWnd As Long, _
             ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
             Alias "SetWindowLongA" _
            (ByVal hWnd As Long, _
             ByVal nIndex As Long, _
             ByVal dwNewLong As Long) As Long
Private Declare Function FindWindow Lib "user32" _
             Alias "FindWindowA" _
            (ByVal lpClassName As String, _
             ByVal lpWindowName As String) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

Sub EnableMaxButton(ByVal Flg As Boolean)
  Dim Ret As Long
  Dim hWnd As Long
  Dim Wnd_STYLE As Long
  
  hWnd = FindWindow("XLMAIN", Application.Caption)
  Wnd_STYLE = GetWindowLong(hWnd, GWL_STYLE)
  If Flg Then
    Wnd_STYLE = Wnd_STYLE Or WS_MAXIMIZEBOX
  Else
    Wnd_STYLE = Wnd_STYLE And Not WS_MAXIMIZEBOX
  End If
  Ret = SetWindowLong(hWnd, GWL_STYLE, Wnd_STYLE)
  Ret = DrawMenuBar(hWnd)
End Sub

Sub test()
  MsgBox "無効にします"
  EnableMaxButton False
  MsgBox "有効にします"
  EnableMaxButton True
End Sub

試してみてな。
ほな。

1 hits

【7327】最大化ボタンを無効(有効)にする ドラゴン 03/9/2(火) 16:42 質問
【7343】Re:最大化ボタンを無効(有効)にする bykin 03/9/2(火) 20:54 回答
【7348】Re:最大化ボタンを無効(有効)にする ドラゴン 03/9/2(火) 22:27 お礼

73862 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free