일단 스크롤 바는 아래와 같은 구조로 되어 있으며
[code]
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
si.fMask = SIF_ALL;
si.nMin = 0;
si.nMax = m_nHeightFromItemCounts;
si.nPage = rc.Height();
si.nPos = 0;
SetScrollInfo(SB_VERT, &si, TRUE);
[/code]
비밀은 nMin, nMax, nPage 정도가 쥐고 있는 것 같다.
nMin 는 말 대로 최소값이 될 것이고 0이 기본 값이 된다.
nMax 는 보여지는 Frame 에 Size 가 아닌 실제 내용 윈도우에 크기가 될 것이며
이는 자유 자재로 변경 될 것이다.
중요한 nPage 는 보여지는 Frame 에 크기 이다.
+------------+ nMin
| |
| |
| |
| |
+------------+ nPage
| |
| |
| |
| |
| |
| |
| |
| |
+------------+ nMax
스크롤 바는 전체 nMax 윈도우에 축소판이기 때문에 nPage 는 실제로 보여지는
Frame 윈도우에 크기가 된다.
[code]
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
si.fMask = SIF_ALL;
si.nMin = 0;
si.nMax = m_nHeightFromItemCounts;
si.nPage = rc.Height();
si.nPos = 0;
SetScrollInfo(SB_VERT, &si, TRUE);
[/code]
비밀은 nMin, nMax, nPage 정도가 쥐고 있는 것 같다.
nMin 는 말 대로 최소값이 될 것이고 0이 기본 값이 된다.
nMax 는 보여지는 Frame 에 Size 가 아닌 실제 내용 윈도우에 크기가 될 것이며
이는 자유 자재로 변경 될 것이다.
중요한 nPage 는 보여지는 Frame 에 크기 이다.
+------------+ nMin
| |
| |
| |
| |
+------------+ nPage
| |
| |
| |
| |
| |
| |
| |
| |
+------------+ nMax
스크롤 바는 전체 nMax 윈도우에 축소판이기 때문에 nPage 는 실제로 보여지는
Frame 윈도우에 크기가 된다.
'Windows > MFC' 카테고리의 다른 글
debug message (0) | 2013.10.02 |
---|---|
ime (0) | 2013.10.02 |
SCROLLINFO (0) | 2013.10.02 |
CeDB (0) | 2013.10.02 |
batch file (0) | 2013.10.02 |