フリーソフト

« タスクトレイに天気予報 旧バージョン | トップページ | [BCB] MDIで親フォームにスクロールバーを出さない方法 »

[BCB] 最大化したときのFormのサイズを取得する方法

ヘッダ
class TMainForm : public TForm
{
  :
private:
 TRect FMaximizedRect;
 // メッセージハンドラ
 void _fastcall WMGetMinMaxInfo(TWMGetMinMaxInfo &Msg);

 BEGIN_MESSAGE_MAP
 MESSAGE_HANDLER(WM_GETMINMAXINFO, TWMGetMinMaxInfo, WMGetMinMaxInfo)
 END_MESSAGE_MAP(TForm)
  :
};


ソース
void _fastcall TMainForm::WMGetMinMaxInfo(TWMGetMinMaxInfo &Msg)
{
 //最大化したときのFormのサイズを取得
 FMaximizedRect.Top=0;
 FMaximizedRect.Left=0;
 FMaximizedRect.Right=Msg.MinMaxInfo->ptMaxSize.x;
 FMaximizedRect.Bottom=Msg.MinMaxInfo->ptMaxSize.y;

 /* その他、取得できる値
  //最大化の時のポジション
  Msg.MinMaxInfo.ptMaxPosition.x , Msg.MinMaxInfo.ptMaxPosition.y
  //最小サイズ
  Msg.MinMaxInfo.ptMinTrackSize.x , Msg.MinMaxInfo.ptMinTrackSize.y
  //最大サイズ
  Msg.MinMaxInfo.ptMaxTrackSize.x , Msg.MinMaxInfo.ptMaxTrackSize.y
 */
}

設定値を取得するだけでなく、逆に値を設定することもできるので最大化したときのサイズを変えたりもできる。

« タスクトレイに天気予報 旧バージョン | トップページ | [BCB] MDIで親フォームにスクロールバーを出さない方法 »

C++Builder」カテゴリの記事

フォーム・ダイアログ関連」カテゴリの記事

コメント

この記事へのコメントは終了しました。