| 1899 | } |
| 1900 | |
| 1901 | void CRichEditUI::SetPos(RECT rc) |
| 1902 | { |
| 1903 | CControlUI::SetPos(rc); |
| 1904 | rc = m_rcItem; |
| 1905 | |
| 1906 | rc.left += m_rcInset.left; |
| 1907 | rc.top += m_rcInset.top; |
| 1908 | rc.right -= m_rcInset.right; |
| 1909 | rc.bottom -= m_rcInset.bottom; |
| 1910 | bool bVScrollBarVisiable = false; |
| 1911 | if( m_pVerticalScrollBar && m_pVerticalScrollBar->IsVisible() ) { |
| 1912 | bVScrollBarVisiable = true; |
| 1913 | rc.right -= m_pVerticalScrollBar->GetFixedWidth(); |
| 1914 | } |
| 1915 | if( m_pHorizontalScrollBar && m_pHorizontalScrollBar->IsVisible() ) { |
| 1916 | rc.bottom -= m_pHorizontalScrollBar->GetFixedHeight(); |
| 1917 | } |
| 1918 | |
| 1919 | if( m_pTwh ) { |
| 1920 | m_pTwh->SetClientRect(&rc); |
| 1921 | if( bVScrollBarVisiable && (!m_pVerticalScrollBar->IsVisible() || m_bVScrollBarFixing) ) { |
| 1922 | LONG lWidth = rc.right - rc.left + m_pVerticalScrollBar->GetFixedWidth(); |
| 1923 | LONG lHeight = 0; |
| 1924 | SIZEL szExtent = { -1, -1 }; |
| 1925 | m_pTwh->GetTextServices()->TxGetNaturalSize( |
| 1926 | DVASPECT_CONTENT, |
| 1927 | GetManager()->GetPaintDC(), |
| 1928 | NULL, |
| 1929 | NULL, |
| 1930 | TXTNS_FITTOCONTENT, |
| 1931 | &szExtent, |
| 1932 | &lWidth, |
| 1933 | &lHeight); |
| 1934 | if( lHeight > rc.bottom - rc.top ) { |
| 1935 | m_pVerticalScrollBar->SetVisible(true); |
| 1936 | m_pVerticalScrollBar->SetScrollPos(0); |
| 1937 | m_bVScrollBarFixing = true; |
| 1938 | } |
| 1939 | else { |
| 1940 | if( m_bVScrollBarFixing ) { |
| 1941 | m_pVerticalScrollBar->SetVisible(false); |
| 1942 | m_bVScrollBarFixing = false; |
| 1943 | } |
| 1944 | } |
| 1945 | } |
| 1946 | } |
| 1947 | |
| 1948 | if( m_pVerticalScrollBar != NULL && m_pVerticalScrollBar->IsVisible() ) { |
| 1949 | RECT rcScrollBarPos = { rc.right, rc.top, rc.right + m_pVerticalScrollBar->GetFixedWidth(), rc.bottom}; |
| 1950 | m_pVerticalScrollBar->SetPos(rcScrollBarPos); |
| 1951 | } |
| 1952 | if( m_pHorizontalScrollBar != NULL && m_pHorizontalScrollBar->IsVisible() ) { |
| 1953 | RECT rcScrollBarPos = { rc.left, rc.bottom, rc.right, rc.bottom + m_pHorizontalScrollBar->GetFixedHeight()}; |
| 1954 | m_pHorizontalScrollBar->SetPos(rcScrollBarPos); |
| 1955 | } |
| 1956 | |
| 1957 | for( int it = 0; it < m_items.GetSize(); it++ ) { |
| 1958 | CControlUI* pControl = static_cast<CControlUI*>(m_items[it]); |
nothing calls this directly
no test coverage detected