GSI

사용자 삽입 이미지

FormView로 구성된 세부 컨트롤 처리

Color1 + Pick... + CheckButton 은 한줄씩 생성 됩니다.
Add, Delete 로 추가하고 삭제할 수 있습니다.

스크롤로 아래 위로 움직일 수 있습니다.

Add를 하게 되면 하단의 버튼이 아래로 내려 간다.

 int pos = GetScrollPos(SB_VERT);
 GetDlgItem(IDC_EFFECTATTRIB8_CHILD_ADD)->MoveWindow(20, m_NewHeightPos + 10 - pos, 100, 30);
 GetDlgItem(IDC_EFFECTATTRIB8_CHILD_DELETE)->MoveWindow(20, m_NewHeightPos + 42 - pos, 100, 30);
 CSize scrollSize;
 scrollSize.cx = 200;
 scrollSize.cy = m_NewHeightPos + 80;
 SetScrollSizes(MM_TEXT, scrollSize);

위의 코드에서 보듯이 컨트롤을 동적으로 생성할 때
스크롤 성분에 의해서 원하는 위치에 생성되지 않습니다.
이 문제를 해결하기 위해서 GetScrollPos()를 사용해서 스크롤 값을 얻어 오고
그 값을 보정해서 생성하면 되네요..

관련코드 :
Posted by gsi
: