掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
サブクラスについて (ID:74596)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
1画面に対して最大化した時の最大化サイズを指定する処理は正常に動作しています。 これを複数画面対応するには、どのような手段で行うのでしょうか? 宜しくお願いいたします。 ■■■■■■Module.bas■■■■■■ Public Sub StartSubClass(hWnd As Long, objForm As Object) Set pobjForm = objForm plngoldWinProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf WindowProc) End Sub Public Function StopSubClass(hWnd As Long, objForm As Object) Dim lngResult As Long ' 戻り値 lngResult = SetWindowLong(hWnd, GWL_WNDPROC, plngoldWinProc) End Function Public Function WindowProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim lngRet As Long Dim tagMinMax As MINMAXINFO '画面移動が終了した場合 If uMsg = WM_GETMINMAXINFO Then Call CopyMemory(tagMinMax, ByVal lParam, Len(tagMinMax)) With tagMinMax .ptMinTrackSize.x = 300 'トラッキング時の最小のサイズ .ptMinTrackSize.y = 120 .ptMaxTrackSize.x = 1280 'トラッキング時の最大のサイズ .ptMaxTrackSize.y = 940 .ptMaxSize.x = 1280 '最大化時のサイズ .ptMaxSize.y = 940 .ptMaxPosition.x = 0 '最大化した時の左上の位置 .ptMaxPosition.y = 39 End With Call CopyMemory(ByVal lParam, tagMinMax, Len(tagMinMax)) End If Private Sub Form_Load() ' サブクラス化開始 Call StartSubClass(Me.hWnd, Me) End Sub ■■■■■■Form1■■■■■■ Private Sub Form_Unload(Cancel As Integer) ' サブクラス化終了 Call StopSubClass(Me.hWnd, Me) End Sub '元のウィンドウプロシージャを呼ぶ WindowProc = CallWindowProc(plngoldWinProc, hWnd, uMsg, wParam, lParam) End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.