vc++实现的字幕跑马灯,类似于酷我歌词
给一个朋友做的,由于大屏幕控制系统软件的字符叠加,效果不理想,因此做了这个小工具。现把代码分享给大家。
关键过程如下:
1、初始化窗口
bool CCapitonWnd::init()
{
if (this->GetSafeHwnd()) return false;
this->Create(nullptr, L"", WS_VISIBLE, CRect(0, 0, 300, 100), GetDesktopWindow(), 0x5000);
LONG para = ::GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE);
para |= WS_EX_LAYERED;
para |= WS_EX_TOOLWINDOW;
::SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, para);
CDC * pdc = this->GetDC();
set_txt_color(RGB(0, 0, 0));
if (!load_param())
{
CFont * font = CFont::FromHandle((HFONT)GetStockObject(DEFAULT_GUI_FONT));
if (font) font->GetLogFont(&m_logFont);
}
else
{
m_Font.CreateFontIndirectW(&m_logFont);
}
pdc->SelectObject(m_Font.GetSafeHandle());