发表在C语言图书答疑 2009-08-31
是否精华
版块置顶:
我想问一下  预览高度和宽度为什么那样计算?我看不懂  谢谢
BOOL CPanel::CreatePreWnd(UINT uNum)
{
if(uNum == 0)
return FALSE;
m_UnitNum = uNum;
m_Num = pow(uNum,2);
m_pList = new CPreView[m_Num];
CRect rc;
GetClientRect(rc);
//预览窗口的宽度
int width = (rc.Width() - (uNum + 1) * m_Div) / uNum;
//预览窗口的高度
int height = (rc.Height() - (uNum + 1) * m_Div) / uNum;

for (int i =0; i<m_Num; i++)
{
int row = i / uNum + 1;
int col = i % uNum + 1;
int x   = col*m_Div + (col - 1) * width;
int y   = row*m_Div + (row - 1) * height;
CRect rect(x,y,x+width,y+height);
m_pList[i].Create("",WS_CHILD|WS_VISIBLE|SS_BLACKFRAME|SS_NOTIFY,rect,this);
m_pList[i].m_Index = i;
}
return TRUE;
}
分享到:
精彩评论 3
liangshui
学分:0 LV1
2009-09-01
沙发
请问这是哪本书上的哪个例子
xf_mrkj
学分:0 LV1
2009-09-02
板凳
VC++项目全程开发实录里面第一个案例   
学分: LV1
2009-09-02
地板
m_Num是要阅览窗口中预览窗口的数量。
m_Num是uNum的平方。
uNum代表的是一横行中小窗口的数量。
int width =(rc.Width()-(uNum+1)*m_div)/uNum;
/*
   每一个小窗口的宽度是为 =   (  客户区总宽度-  (nNum+1)个窗口间隔的宽度  ) / 横行小窗口的个数
*/
根据这样的理解,同样用于高度的计算。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照