GetClientRect()函数的问题
现在有这样一条语句:GetClientRect(&rc);语句中的rc是一个CRect类。百科里面说该函数的作用是获取窗口客户区的坐标,如果是这个作用的话,那么它具体是获...
现在有这样一条语句:GetClientRect( &rc );语句中的rc是一个CRect类。百科里面说该函数的作用是获取窗口客户区的坐标,如果是这个作用的话,那么它具体是获取哪个窗口客户区的坐标呢?这里&rc是个地址,那整条语句是不是指GetClientRect()根据&rc这个矩形大小来得到一个以(0,0)为左上角起点的矩形右下角坐标呢?如果不是,那这个GetClientRect()的作用是什么?
展开
1个回答
展开全部
CWnd::GetClientRect
void GetClientRect(
LPRECT lpRect )
const;
此函数用来获取对话框客户区大小。按你的代码,通过rc.Width()和rc.Height()就可以获得客户区的宽度和高度。
示例:绘制一条正弦曲线
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
CPoint aPoint[SEGMENT];
for (int i=0; i<SEGMENT; i++)
{
aPoint[i].x = (i * nWidth) / SEGMENT;
aPoint[i].y = (int) ((nHeight / 2) * (1 - (sin((2*PI*i)/SEGMENT))));
}
dc.Polyline(aPoint,SEGMENT);
}
void GetClientRect(
LPRECT lpRect )
const;
此函数用来获取对话框客户区大小。按你的代码,通过rc.Width()和rc.Height()就可以获得客户区的宽度和高度。
示例:绘制一条正弦曲线
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
CPoint aPoint[SEGMENT];
for (int i=0; i<SEGMENT; i++)
{
aPoint[i].x = (i * nWidth) / SEGMENT;
aPoint[i].y = (int) ((nHeight / 2) * (1 - (sin((2*PI*i)/SEGMENT))));
}
dc.Polyline(aPoint,SEGMENT);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询