首页上一页 1 下一页尾页 2 条记录 1/1页
自绘窗体界面问题(VC++范例宝典024)
发表在C语言图书答疑
2010-10-11
是否精华
是
否
版块置顶:
是
否
前辈好!
实例024有两个地方我不太明白:
1(第二版38页第16行)
//绘制左边线
//获取位图大小
pWindowDC->StretchBlt(1-m_BorderWidth,m_CaptionHeight+1,x+1,Clientrect.Height()+2*m_BorderHeight+5,&memDC,0,0,x,y,SRCCOPY);
我不明白为什么要用1-m_BorderWidth作为X值Clientrect.Height()+2*m_BorderHeight+5作为高?
2我自已写了个单文档程序,试图自画左边线,但是我不知道怎么获得左边线的高度!
我用了
l_BorderWidth = GetSystemMetrics(SM_CXBORDER);
l_BorderHeight = GetSystemMetrics(SM_CYBORDER);
l_CaptionHeight = GetSystemMetrics(SM_CYCAPTION);
我觉得l_BorderHeight是左边线的高度了,但是明明有500象素的高度,可我获得的值是1,不知道哪里错了,要怎么才能获得正确的高度?(l_BorderWidth也是1,l_CaptionHeight是29正常。)
希望得到解答!
实例024有两个地方我不太明白:
1(第二版38页第16行)
//绘制左边线
//获取位图大小
pWindowDC->StretchBlt(1-m_BorderWidth,m_CaptionHeight+1,x+1,Clientrect.Height()+2*m_BorderHeight+5,&memDC,0,0,x,y,SRCCOPY);
我不明白为什么要用1-m_BorderWidth作为X值Clientrect.Height()+2*m_BorderHeight+5作为高?
2我自已写了个单文档程序,试图自画左边线,但是我不知道怎么获得左边线的高度!
我用了
l_BorderWidth = GetSystemMetrics(SM_CXBORDER);
l_BorderHeight = GetSystemMetrics(SM_CYBORDER);
l_CaptionHeight = GetSystemMetrics(SM_CYCAPTION);
我觉得l_BorderHeight是左边线的高度了,但是明明有500象素的高度,可我获得的值是1,不知道哪里错了,要怎么才能获得正确的高度?(l_BorderWidth也是1,l_CaptionHeight是29正常。)
希望得到解答!