MCPcopy Create free account
hub / github.com/cinience/RedisStudio / SetPos

Method SetPos

DuiLib/Control/UIRichEdit.cpp:1901–1967  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1899}
1900
1901void 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]);

Callers

nothing calls this directly

Calls 10

IsVisibleMethod · 0.80
GetFixedWidthMethod · 0.80
GetFixedHeightMethod · 0.80
SetClientRectMethod · 0.80
GetTextServicesMethod · 0.80
GetPaintDCMethod · 0.80
IsFloatMethod · 0.80
SetVisibleMethod · 0.45
SetScrollPosMethod · 0.45
GetSizeMethod · 0.45

Tested by

no test coverage detected