关于MFC中控件大小的问题
我想实现窗口放大时控件也放大的功能首先我在对话框类中加入成员变量CRectm_rect;用于保存对话框大小变化前的大小然后在对话框的OnInitDialog()函数中获取...
我想实现窗口放大时 控件也放大的功能
首先我在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小
然后在对话框的OnInitDialog()函数中获取对话框创建时的大小:
GetClientRect(&m_rect);
然后写onsize函数
void CTimersDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CWnd *pWnd;
pWnd=GetDlgItem(IDC_mySTATIC);
if(pWnd)
{
CRect rect;
pWnd->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.left=rect.left*cx/m_rect.width();
rect.right=rect.right*cx/m_rect.width();
rect.top=rect.top*cy/m_rect.height();
rect.bottom=rect.bottom*cy/m_rect.height();
pWnd->MoveWindow(rect);
}
}
一直提示我
'height' : is not a member of 'CString' 这是什么意思 展开
首先我在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小
然后在对话框的OnInitDialog()函数中获取对话框创建时的大小:
GetClientRect(&m_rect);
然后写onsize函数
void CTimersDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CWnd *pWnd;
pWnd=GetDlgItem(IDC_mySTATIC);
if(pWnd)
{
CRect rect;
pWnd->GetWindowRect(&rect);
ScreenToClient(&rect);
rect.left=rect.left*cx/m_rect.width();
rect.right=rect.right*cx/m_rect.width();
rect.top=rect.top*cy/m_rect.height();
rect.bottom=rect.bottom*cy/m_rect.height();
pWnd->MoveWindow(rect);
}
}
一直提示我
'height' : is not a member of 'CString' 这是什么意思 展开
5个回答
展开全部
你用CString 的变量来调用 height,而CString 里没有这个成员,所以你看看是不是自己把CString 和 CRect 声明的变量搞混了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是其他错误吧,height在这里是没有问题的,建议LZ检查其他代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是你在定义变量时没有定义'height',你只要在前面定义,然后运行一下看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-23
展开全部
m_rect.height();
m_rect.Height();
m_rect.Height();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询