|
안녕하세요...
이미지의 크기를 실행되었을때.. 크기를 줄였다/늘였다를 트랙바를 통해서 하려고 합니다.
마우스가 클릭되었을때...
1. 트랙바의 위치를 이미지로 크기로 설정하였다가,
2. 트랙바가 변화되면..그때의 position값을 이미지에 적용하는것인데..
최초의 위치지정을 FormShow에서 했을때와 , image1이 클릭됐을하는것과 차이가 있는 부분이 있는것 같습니다.
아래의 것을 컴파일해보시면.. FormShow를 주석처리하고, Image1Click로 컴파일해보면...
최초이미지의 크기가 줄어들었다가..trackbar의 적용을 받는것같습니다..
FormShow에서 했을때와 , image1이 클릭됐을하는것에 어떤 차이가 있어서 이런현상이 일어나는지 궁금합니다.
(실제로 폼에는 동적으로생성한 여러개의 이미지들이 있어서,, 하나의 트랙바에 여러개의 이지의 사이즈를 할당할수 없어서, 선택된 이미지를 trackbar 에 설정하는 형태로 했는데...)
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
Image1->Width=TrackBar1->Position;
Image1->Height= TrackBar1->Position;
}
void __fastcall TForm1::FormShow(TObject *Sender)
{
/* FormShow 에서 image1의 사이즈를 trackbar에 할당하면...
원하는 대로 잘됩니다. */
TrackBar1->Position = Image1->Width;
TrackBar1->Position = Image1->Height;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1Click(TObject *Sender)
{
/* 위의 formshow에 있는 두줄을 주석처리 하고
아래의 것을 주석을 풀고 컴파일하면...
그리고 실행된 후에...먼저 Image1을 선택(클릭 ) 후 trackbar를 끌어보면...
trackbar가 최초의 position 값 10 이 적용되어...이미지가 10정도도 변했다가...
트랙바의 적용을 받게 됩니다...
위의 formshow에서 처럼하고 싶은데...
*/
//TrackBar1->Position = Image1->Width;
// TrackBar1->Position = Image1->Height;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
수고하세요.
|