void CPWL_IconList::OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, intptr_t wParam, intptr_t lParam) { CPWL_Wnd::OnNotify(pWnd, msg, wParam, lParam); if (wParam == SBT_VSCROLL) { switch (msg) { case PNM_SETSCROLLINFO: if (PWL_SCROLL_INFO* pInfo = (PWL_SCROLL_INFO*)lParam) { if (CPWL_ScrollBar* pScrollBar = GetVScrollBar()) { if (pInfo->fContentMax - pInfo->fContentMin > pInfo->fPlateWidth) { if (!pScrollBar->IsVisible()) { pScrollBar->SetVisible(TRUE); RePosChildWnd(); } else { } } else { if (pScrollBar->IsVisible()) { pScrollBar->SetVisible(FALSE); RePosChildWnd(); } if (m_pListContent) m_pListContent->SetScrollPos(CPDF_Point(0.0f,0.0f)); } pScrollBar->OnNotify(pWnd,PNM_SETSCROLLINFO,wParam,lParam); } } return; case PNM_SCROLLWINDOW: if (m_pListContent) { m_pListContent->SetScrollPos(CPDF_Point(0.0f, *(FX_FLOAT*)lParam)); m_pListContent->ResetFace(); m_pListContent->InvalidateRect(NULL); } return; case PNM_SETSCROLLPOS: if (CPWL_ScrollBar* pScrollBar = GetVScrollBar()) pScrollBar->OnNotify(pWnd,PNM_SETSCROLLPOS,wParam,lParam); return; } } }
void CPWL_Wnd::Create(const PWL_CREATEPARAM& cp) { if (!IsValid()) { m_sPrivateParam = cp; OnCreate(m_sPrivateParam); m_sPrivateParam.rcRectWnd.Normalize(); m_rcWindow = m_sPrivateParam.rcRectWnd; m_rcClip = CPWL_Utils::InflateRect(m_rcWindow, 1.0f); CreateMsgControl(); if (m_sPrivateParam.pParentWnd) m_sPrivateParam.pParentWnd->OnNotify(this, PNM_ADDCHILD); PWL_CREATEPARAM ccp = m_sPrivateParam; ccp.dwFlags &= 0xFFFF0000L; // remove sub styles ccp.mtChild = CFX_Matrix(1, 0, 0, 1, 0, 0); CreateScrollBar(ccp); CreateChildWnd(ccp); m_bVisible = HasFlag(PWS_VISIBLE); OnCreated(); RePosChildWnd(); m_bCreated = TRUE; } }
void CPWL_Note::SetAuthorName(const CFX_WideString& sName) { if (m_pAuthor) { m_pAuthor->SetText(sName); RePosChildWnd(); } if (IPWL_NoteNotify* pNotify = GetNoteNotify()) { pNotify->OnSetAuthorName(this); } }
void CPWL_Wnd::SetVisible(FX_BOOL bVisible) { if (IsValid()) { for (int32_t i = 0, sz = m_aChildren.GetSize(); i < sz; i++) { if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) { pChild->SetVisible(bVisible); } } if (bVisible != m_bVisible) { m_bVisible = bVisible; RePosChildWnd(); InvalidateRect(); } } }
void CPWL_Wnd::Move(const CFX_FloatRect& rcNew, FX_BOOL bReset, FX_BOOL bRefresh) { if (IsValid()) { CFX_FloatRect rcOld = GetWindowRect(); m_rcWindow = rcNew; m_rcWindow.Normalize(); if (rcOld.left != rcNew.left || rcOld.right != rcNew.right || rcOld.top != rcNew.top || rcOld.bottom != rcNew.bottom) { if (bReset) { RePosChildWnd(); } } if (bRefresh) { InvalidateRectMove(rcOld, rcNew); } m_sPrivateParam.rcRectWnd = m_rcWindow; } }
void CPWL_Note::SetSubjectName(const CFX_WideString& sName) { CPWL_NoteItem::SetSubjectName(sName); RePosChildWnd(); }