|
www.devpia.com ÀÇ ±èµ¿Ãµ(winicon)´ÔÀÌ ¿Ã·ÁÁֽŠ±Û ³»¿ë Áß ÀϺÎ
--------------------------------------------------------------
ÀÎÅͳݿ¡¼ °Ü¿ì ±¸ÇѰ̴ϴÙ. µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÕ´Ï´Ù. CDLGTOOLBAR1DlgÀÇ Çì´õ¿¡
CToolBar cToolBar;
BOOL CDLGTOOLBAR1Dlg::OnInitDialog() { ~ ~ ~ mInitToolbar();
void CDLGTOOLBAR1Dlg::mInitToolbar() { if (!cToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !cToolBar.LoadToolBar(IDR_TOOLBAR1))
{ TRACE0("Failed to Create Dialog Toolbar\n"); EndDialog(IDCANCEL); } CRect rcClientOld; // Old Client Rect CRect rcClientNew; // New Client Rect with Tollbar Added GetClientRect(rcClientOld); // Retrive the Old Client WindowSize
// Called to reposition and resize control bars in the client area of a window // The reposQuery FLAG does not really traw the Toolbar. It only does the calculations. // And puts the new ClientRect values in rcClientNew so we can do the rest of the Math. RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rcClientNew);
// All of the Child Windows (Controls) now need to be moved so the Tollbar does not cover them up. // Offest to move all child controls after adding Tollbar CPoint ptOffset(rcClientNew.left-rcClientOld.left,rcClientNew.top-rcClientOld.top);
CRect rcChild; CWnd* pwndChild = GetWindow(GW_CHILD); //Handle to the Dialog Controls
while(pwndChild) // Cycle through all child controls {
pwndChild->GetWindowRect(rcChild); // Get the child control RECT ScreenToClient(rcChild); rcChild.OffsetRect(ptOffset); // Changes the Child Rect by the values of the claculated offset pwndChild->MoveWindow(rcChild,FALSE); // Move the Child Control pwndChild = pwndChild->GetNextWindow();
}
CRect rcWindow; GetWindowRect(rcWindow); // Get the RECT of the Dialog rcWindow.right += rcClientOld.Width() - rcClientNew.Width(); // Increase width to new Client Width rcWindow.bottom += rcClientOld.Height() - rcClientNew.Height(); // Increase height to new Client Height MoveWindow(rcWindow,FALSE); // Redraw Window
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
Ãâó : http://www.devpia.com/
|