程序的理解
发表在C语言图书答疑 2015-10-18
是否精华
版块置顶:
问题在《Visual C++从入门到精通》一书的245页 实践与练习的第二题。我对光盘里所给的代码弄不大清楚。
 能否逐句解释一下。
例如下面的程序段:
  这是对话框的初始方法的一个程序段,特别是对后面的一段弄不清楚。
 UINT  Indicates[4]; 
for (int i = 0; i<4;i++)
{
Indicates[i] = 50+i;
}

m_StatusBar.SetIndicators(Indicates,4);
CRect rect;
GetClientRect(rect);

UINT PaneWidth = rect.Width()/6;

for(int n = 0;n<3;n++)
{
m_StatusBar.SetPaneInfo(n,Indicates[n],0,PaneWidth);
}

m_StatusBar.SetPaneInfo(3,110,SBPS_NORMAL,800);
m_StatusBar.SetPaneText(0,"用户名称");
m_StatusBar.SetPaneText(1,"TSOFT");
m_StatusBar.SetPaneText(2,"网址");

RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);


m_Parent.SetParent(&m_StatusBar);

   m_StatusBar.GetStatusBarCtrl().GetRect(3,Rect);
Rect.DeflateRect(1,1,1,1);

m_Parent.MoveWindow(Rect);
m_Parent.GetClientRect(Rect);


m_Web.GetClientRect(rect1);
m_Web.SetParent(&m_Parent);



m_Parent.GetClientRect(CurRect);
CurRect.DeflateRect(0,1,Rect.Width()-rect1.Width(),1);
m_Web.MoveWindow(CurRect);

SetTimer(1,200,NULL);
还有另外一个函数:
 void CScrollStatusDlg::OnTimer(UINT nIDEvent) 
{
if (CurRect.left>=Rect.right)
{
CurRect.left = Rect.left-rect1.Width();
CurRect.right =Rect.left;
}
else
{
CurRect.left+=4;
CurRect.right+=4;
}
m_Web.MoveWindow(CurRect);

}
分享到:
精彩评论 1
学分: LV1
TA的每日心情
开心
2020-06-16 09:16:38
2015-10-19
沙发
//创建状态栏
m_StatusBar.Create(this);

//添加状态栏面板
UINT  Indicates[4]; 
for (int i = 0; i<4;i++)
{
Indicates[i] = 50+i;
}

m_StatusBar.SetIndicators(Indicates,4);
CRect rect;
GetClientRect(rect);

UINT PaneWidth = rect.Width()/6;

//设置面板宽度
for(int n = 0;n<3;n++)
{
m_StatusBar.SetPaneInfo(n,50+n*10,SBPS_NORMAL,PaneWidth);
}
//设置状态栏面板文本

m_StatusBar.SetPaneInfo(3,111,SBPS_NORMAL,800);
m_StatusBar.SetPaneText(0,"用户名称");
m_StatusBar.SetPaneText(1,"TSOFT");
m_StatusBar.SetPaneText(2,"网址");

RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);


m_Parent.SetParent(&m_StatusBar);

//获取控件的显示区域
m_StatusBar.GetStatusBarCtrl().GetRect(3,Rect);
Rect.DeflateRect(1,1,1,1);

m_Parent.MoveWindow(Rect);
m_Parent.GetClientRect(Rect);


m_Web.GetClientRect(rect1);
m_Web.SetParent(&m_Parent);



m_Parent.GetClientRect(CurRect);
CurRect.DeflateRect(0,1,Rect.Width()-rect1.Width(),1);
m_Web.MoveWindow(CurRect);

SetTimer(1,200,NULL);

return TRUE;  // return TRUE  unless you set the focus to a control
}



下面一段代码调节字幕滚动
首页上一页 1 下一页尾页 1 条记录 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经营性网站备案信息 营业执照