C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[54389] Re:trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ?
장성호 [nasilso] 1020 읽음    2008-08-25 11:50
원래 TImage의 크기가 가로 세로 다르네요

Image1Click에서 하면
Image를 Click하기 전까지는 원래 Size를 보여주는것이죠

두번째로 FormShow 할때

     Image의 Width와 Height를 TrackBar1->Position 으로 설정하셨는데...
 
     FormShow에서 다음코드를 실행함과 동시에
        TrackBar1->Position = Image1->Width;
    TrackBar1Change이벤트가 뜹니다.

    즉 FormShow에서 TrackBar1->Position을 Image1->Width로 수정하면
    TrackBar1Change이벤트가 발생하여 Image1->Height도  같이 바뀌어 버리죠
    그런후에  다음코드 TrackBar1->Position = Image1->Height; 는 아무 의미 없는 코드가 되죠

TrackBar의 Position을 코딩으로 값을 변경하더라도
TrackBar의 OnChange 이벤트 핸들러가 발생한다는것에 주의하시면 될것 같습니다.

그럼..
  

linuxman 님이 쓰신 글 :
: 안녕하세요...
:
:    이미지의 크기를 실행되었을때.. 크기를 줄였다/늘였다를 트랙바를 통해서 하려고 합니다.
: 마우스가 클릭되었을때...
:        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;
: }
: //---------------------------------------------------------------------------
: //---------------------------------------------------------------------------
:
:
: 수고하세요.

+ -

관련 글 리스트
54387 trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ? linuxman 1078 2008/08/23
54389     Re:trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ? 장성호 1020 2008/08/25
54396         Re:Re:trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ? linuxman 1347 2008/08/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.