Sto se tice dock kontrola, najjednostavnije je da koristis App wizard i da kazes da zelis da toolbar bude docking...
Programski to mozes da resis tako da u funkciji int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) nakon kreiranja toolbara "kazes":
Code:
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
Da bi pri promeni velicine forme, tj. dialog-box postavio velicine i pozicije kontrola (verovatno zelis da to bude na nacin kako se menja WEB forma u browser-u pri promeni velicine prozora), dodaj message handler OnSize za poruku WM_SIZE:
Code:
void CYourDlgBox::OnSize(UINT nType, int cx, int cy)
Koriscenjem CWnd::GetDlgItem u OnSize mozes da dobijes pokazivac na tvoje kontrole. Npr.:
Code:
CEdit* edit = (CEdit*) GetDlgItem(IDC_EDIT_NAME);
Velicinu i polozaj kontrola menjas pozivom
Code:
edit->MoveWindow( int x, int y, int w, int h, BOOL bRepaint );
Na tebi je "samo" da vrednosti x, y, w i h povezes sa vrednostima cx i cy...
Pri kreiranju Dijaloga u Resource editoru moras da kazes da je "forma" Resizing.