|
김갑철 님이 쓰신 글 :
: ScrollBox 안에 두개의 컴포넌트가 있습니다.
: 하나는 Panel 이고 하나는 RichEdit 입니다.
: 수직으로 스크롤할때는 이 2개가 같이 움직이는데 수평으로 스크롤할때는 Panel 은 가만히 있고
: RichEdit 만 움직이게 할수는 없는 것인지요?
: 이벤트 발생시에 코드를 넣어서 강제로 Panel->Left=0; 으로 해 보았는데요.
: 이렇게 하면 그자리에 가만히 있기는 하는데 깜빡이는 현상이 일어나고 잔상이 심하게 남아서요.
: 이런 깜박임 없이 스크롤시 안의 콤포넌트를 고정시키는 방법은 없습니까?
: 알고 계신 분은 답변 부탁드립니다.
:
:
: 또 한가지는 동적으로 Sahpe 를 10개 생성하였습니다.
: 그런데 일괄적으로 한꺼번에 이 10개를 이동할수 있는 방법은 없는지요?
: 즉, 모두 Left 속성을 가지고 있는데 이를 한거번에 일괄적으로 수정할수는 없는지요?
: 전체->Left=+10; 뭐 이렇게 말입니다.
: 루프를 돌리면서 하나씩 처리하는 방법 말고요.
임펠리테리입니다.
원칙적으로 두가지 모두 방법은 없습니다. 스크롤박스는 그자체가 하나의 윈도우이므로 내부의 컨트롤들을 스크롤시킬 수 있는 것입니다. 해보셨다는 것처럼 코딩으로 강제로 스크롤을 막아주는 방법밖에 없죠. 만약 내부에 넣을 내용이 컨트롤이 아니라면 스트링그리드나 드로우그리드를 써서 FixedCols 프로퍼티로 스크롤을 막을 수는 있습니다. (이경우라면 오너드로잉을 해서 몽땅 코드로 그려줘야 합니다.)
두번째 경우라면 약간의 트릭을 쓰시죠. 패널등의 윈도우 컨트롤을 놓고 그 위에 Shape들을 놓아두고 패널을 이동하면 한방에 이동할 수 있겠지요? 뭐 용도에 따라 패널이 아니라 다른 윈도우컨트롤을 쓸 수도 있겠구요.
그럼 참고하시길...
|