记录学习的点点滴滴,这次主要是写的MFC中实现在状态栏中实现滚动的字幕,实现很简
单,和大家分享一下我的代码。
建立一个对话框程序,在OnInitDialog函数添加如下代码,同时在类中添加一个CStatusBar
状态栏的对象。
UINT Array[3];
for (int i = 0; i < 3; ++i)
{
Array[i] = 100 + i; //状态栏面板ID
}
m_statusBar.Create(this); //创建面板
m_statusBar.SetIndicators(Array, sizeof(Array) / sizeof(UINT)); //添加面板
for (int n = 0; n < 3; ++n)
{
m_statusBar.SetPaneInfo(n, Array[n], 0, 130); //设置面板宽度
}
m_statusBar.SetPaneInfo(2, Array[2], 0, 800);
//设置面板文本
m_statusBar.SetPaneText(0, "当前用户");
m_statusBar.SetPaneText(1, "GuoDong Young");
m_statusBar.SetPaneText(2, " 满目山河空念远");
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
SetTimer(1, 1000, NULL); //设置定时器
然后再添加定时器函数。
m_statusBar.GetPaneText(2, sText);
len = sText.GetLength();
sText = sText.Right(len - 2);
m_statusBar.SetPaneText(2, sText); //设置显示字符
if (len <= 0)
{
m_statusBar.SetPaneText(2," 满目山河空念远");
}
CDialog::OnTimer(nIDEvent);
}
好了,就是这样了,很简单吧啊。这就是在状态栏中实现滚动的字幕。