|
알아냈어요~ 알아냈어요~ ㅋㅋㅋ
ScrollBox의 Horizontal의 Position이란 Property가 있더라구요..
scrollbar를 움직이면 이 값이 커지는데요..
두번째 PaintBox2의 Left는 ScrollBox안에서의 위치에 따라 값이 변했어요..
그니까 scroll을 움직이지 않고 그대로 있으면 원래의 left값을 가지고 있고,
scroll을 오른쪾으로 움직이면 PaintBox2의 left값은 작아지는 거죠..
설명하기가 힘들다...(__);
암튼, 기존 PaintBox->Left 값에 ScorllBox->Horizontal->Position의 값을 뺴주면 되더라구요..
이런거는 아무두 안 궁금해 하실려나?? ^^;;
암튼,,해결했습니다~~~ 기뽀~ㅋㅋ
미혜 님이 쓰신 글 :
: 저는 한개의 스크롤바 컨트롤에 두개의 이미지를 보여주어야 합니다.
: 그래서 image컨트롤은 Form의 따른 부분에 따로 빼고,
: Scrollbar 안에 Paintbox컨트롤을 두개를 넣어서 보여주는데요.
: 그래서 첫번째 이미지의 width를 알아내서..
: 두번째 보여주어야 할 PaintBox->Left를 기존 PaintBox->Width + 20을 했습니다.
:
: 처음 버튼을 클릭하여 보여주면 연달아서 잘 보여지는데요..
: 스크롤을 조금이라도 움직인 상태에서 다시 Load 버튼을 누르면,
: 두번째 이미지는 원하는 위치가 아닌 움직인 스크롤 크기가 더해져서..
: 첫번째 이미지보다 마니 뚝~ 떨어져서 표현됩니다..
: 왜 그럴까요?
: ScrollBar Properities에서 무엇을 설정을 해야 하나요?
: 아래 소스가 있습니다.
:
: 고수님을 쪼금 봐주세요~~~.
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: Image1->Picture->LoadFromFile("D:/20020410.bmp");
: Image2->Picture->LoadFromFile("D:/20020410.bmp");
: PaintBox1->Width = Image1->Width;
: PaintBox2->Width = Image2->Width;
: PaintBox2->Left = PaintBox1->Width + 20;
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
: {
: PaintBox1->Canvas->Draw(0,0,Image1->Picture->Graphic);
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::PaintBox2Paint(TObject *Sender)
: {
: PaintBox2->Canvas->Draw(0,0,Image2->Picture->Graphic);
: }
: //---------------------------------------------------------------------------
:
|