質問

皆様にお伝えしたくて書き込みプログラムには二つの区画( CSplitterただし私は困りのコーヒーに飽きたら寿司に出てこのサイズ変更管理の各フレーム。簡単のために、誰か教えてどのような基本フレームシングル CEdit コントロールのツールか?

私はかなりいい CEdit::OnSize() 機能---がん手でもどこでも---

よろしく!:)

役に立ちましたか?

解決

がフレームを受けOnSizeメッセージまでの新しい幅と高さまでにしなければなCEdit SetWindowPos方法を渡すことでこれらの値です。

とCMyPaneはスプリッタ-ペインが含まれており、CEditで作成したOnCreateというm_wndEdit:

void CMyPane::OnSize(UINT nType, int cx, int cy)
{
    m_wndEdit.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER);
}

他のヒント

ウィンドウを受けWM_SIZEメッセージを処理によるOnSizeハンドラMFC)後すぐにサイズ変更されたので、CEdit::OnSizeなります。

を追加してくださいOnSizeハンドラにフレームクラス内のこのハンドラとしてのRob 指摘 しょ幅と高さのインターネットで提供さのフレームにより、追加のコードを調節するサイズと位置します。

このようになっ

void MyFrame::OnSize(UINT nType, int w, int h)
{
    // w and h parameters are new width and height of your frame
    // suppose you have member variable CEdit myEdit which you need to resize/move
    myEdit.MoveWindow(w/5, h/5, w/2, h/2);
}

GetDlgItem(IDC_your_slidebar)->SetWindowPos(...)//実際に移動でき、サイズ変更などなど---

SetWindowPosはちょっと重い。MoveWindowは何が必要です。

その他指摘されているとこWM_SIZEのメッセージを処理する必要がありますよびリサイズ、子供の制御となります。WM_SIZE送のサイズの変更は終了いたしました。

まもりたいのWM_SIZINGするメッセージが送られながら、サイズの変更が進んでいる。これまで積極的にリサイズの子どもwindowsのユーザがマウスでドラッグ.ついて厳正な処理に必要なWM_SIZINGができますのでよりよいユーザー体験です。

使っていCResizeクラスからCodeGuruリサイズすべての規制動します。をしないといけないと考えていきたい各コントロールにリサイズならではの仕事です。

のリサイズパラダイムを指定する際にどのくらいのサイズ制御が移動時のダイアログがリサイズされます。-

SetResize(IDC_EDIT1, 0,   0,   0.5, 1);
SetResize(IDC_EDIT2, 0.5, 0,   1,   1);

非常に便利だとして多数のダイアログで制御できます。

ソースコード

このウィンドウサイズを変更ある画面メッセージしてみて下さい: ON_WM_SIZE(), ON_WM_SIZING(), は、 ON_WM_GETMINMAXINFO().

として のdocs "と言ってい

  • ON_WM_SIZE そのメッセージハンドラ ::OnSize() 実行後のサイズのCWndの更なる;
  • ON_WM_SIZING そのメッセージハンドラ ::OnSizing() 実行時のサイズはインターネットで提供されるclipbord-viewerウィンドウが変わ
  • ON_WM_GETMINMAXINFO そのメッセージハンドラ ::OnGetMinMaxInfo() 実行中に画面を知る必要の最大化の位置や寸法、または最小又は最大追跡サイズです。

したい場合に限のサイズ cwnd 一部の範囲をご参照下さいメッセージ ON_WM_GETMINMAXINFO;する場合がございますのでお取得のサイズをリアルタイムに変化をご参照ください他の二つのメッセージ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top