Button in a Property sheet
Gladys Chan -- Gladys@btw.com
Friday, June 21, 1996
MFC4.0/VC++4.1; Win95
CPropertySheet provides four default buttons (OK, Cancel, Apply and   
Help).  I want to add an additional button placing on the left of the OK   
button but have hard time finding the correct CRect position.  Does   
anyone know how?
TIA!
Gladys  
Rob den Breejen -- robb@and.nl
Monday, June 24, 1996
[Mini-digest: 2 responses]
[There was a third answer, but the sender didn't try it, and it definitely
didn't work.]
I always use the following code to locate a control with the given ID:
CWnd *CMainFrame::GetRectPosition(CRect *rcRect, int nID, CWnd *pParentWnd)
{
    CRect   rcParent;
    CWnd    *pWnd;
    
    pWnd = pParentWnd->GetDlgItem(nID);
    if(pWnd)
    { 
        pParentWnd->GetClientRect(&rcParent);
        pParentWnd->ClientToScreen(&rcParent);
        CPoint Offset=rcParent.TopLeft();        
               
        pWnd->GetWindowRect(rcRect);
        rcRect->OffsetRect(-Offset);
        
        return pWnd;
    }           
    
    return NULL;                   
    
}   // GetRectPosition()
--Rob den Breejen.
-----From: Akshay_Patel@pcmailgw.ml.com
     MFC 2.5/VC++1.52C; Windows 3.1
     
     Following code I used to move Cancel button on propety sheet at perticular 
     position.
     CButton *pCancelButton = (CButton *)GetDlgItem(IDCANCEL);
     
     CRect rcPropSht, rcBtn, rcBtnPos;
     GetWindowRect(&rcPropSht);
     pCancelButton->GetWindowRect(&rcBtn);
        
     //move cancel button to left
     rcBtnPos.left  = int(rcPropSht.Width()/6) - int(rcBtn.Width()/2);
     rcBtnPos.top   = rcBtn.top - rcPropSht.top -                               
                     GetSystemMetrics(SM_CYCAPTION) -                           
                     GetSystemMetrics(SM_CYDLGFRAME);
     rcBtnPos.right = rcBtnPos.left + 10;
     rcBtnPos.bottom= rcBtnPos.top + 10;
     pCancelButton->MoveWindow(&rcBtnPos, FALSE);
     This sample code might be helpful to move any button on property sheet.
     Akshay Patel
______________________________ Reply Separator _________________________________
Subject: Button in a Property sheet
Author:  mfc-l@netcom.com at UNIXGTWY
Date:    6/21/96 11:22 AM
     
MFC4.0/VC++4.1; Win95
     
CPropertySheet provides four default buttons (OK, Cancel, Apply and   
Help).  I want to add an additional button placing on the left of the OK   
button but have hard time finding the correct CRect position.  Does   
anyone know how?
TIA!
     
Gladys  
 
  
   
     
  | Вернуться в корень Архива
  |