使用DuiLib开发Windows界面实在是太简单了,对于MFC程序员真的是脱离苦海,控件自绘什么的GDI\GDI+真要把人搞死。DuiLib是国内一个非常有名的开源界面库,目前很多软件都是用了它(百度卫士、杀毒、PPS……),感谢开源的前辈们。
扩展列表控件的滚动消息,加上一个定时器,让他可以自动滚动一段再停下来。
void CDownloadListUI::DoEvent( TEventUI& event )
{
if( !IsMouseEnabled() && event.Type > UIEVENT__MOUSEBEGIN && event.Type < UIEVENT__MOUSEEND ) {
if( m_pParent != NULL ) m_pParent->DoEvent(event);
else CTileLayoutUI::DoEvent(event);
return;
}
if( event.Type == UIEVENT_TIMER && event.wParam == SCROLL_TIMERID )
{
if( (m_uButtonState & UISTATE_CAPTURED) != 0 ) {
POINT pt = m_pManager->GetMousePos();
LONG cy = (pt.y - m_ptLastMouse.y);
m_ptLastMouse = pt;
SIZE sz = GetScrollPos();
sz.cy -= cy;
SetScrollPos(sz);
return;
}