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
[6468] Re:Re:[Q] TImage Object에 이미지가 있나/없나 확인하는 방법
최성규 [] 2337 읽음    2001-03-30 19:12
한꼬맹이 님이 쓰신 글 :
: 최성규 님이 쓰신 글 :
: : 일단, 팁하나: TImage object의 이미지 내용을 없애고, 안보이게 하기
: : TImage * Image1;
: : ...
: : Image1->Visible = false;   // 이건 아니고, (단지 안보일 뿐임)
: :
: : Image1->Picture = NULL;   // 이렇게 하면 메모리에서 해제하는 것 같음(VCL 소스 뒤져본 결과)
: :
: : 다음은 질문__________입니다.
: : TImage object가 현재 이미지를 가지고 있는지 아닌지를 알아내는 확실하고
: : 합리적인 방법은 무엇일까요?
: :
: : 긴 에필로그_____입니다.
: : 아쉬운대로 방법 1)
: : 위 팁에서 힌트를 얻어 Image1->Picture == NULL 로 판단하기:
: : 하지만, 프로그램이 막 시작한 시점에는 Image1 에 이미지를 넣지 않았더라도
: : Image1->Picture != NULL 이더군요. FormCreate() 따위에서 NULL 초기화를
: : 직접 하게끔 코딩을 하고, 또 프로그램 진행중에 Unload하는 상황에서는
: : 반드시 Image1->Picture = NULL; assign을 해 준다면 방법 1)을 쓰는 데
: : 큰 문제는 없는 것 같습니다.
: :
: : 아쉰운대로 방법 2)
: : Image1->Picture->Width == 0 || Image1->Picture->Height == 0 으로 판단하기:
: : 몇 번 해 보는데 그림이 없으면 당연히 폭과 높이가 0 이겠지요?
: : 단, 행여 Image1->Width와 Image1->Height로 판단하려 해서는 안됨.
: :
: : 저는 현재는 '아쉬운 대로' 방법 2)를 쓰고 있습니다. 무리는 없을까요?
: : 그럼
: :
: : 최성규
: :
: :
:
: 안녕하세요
:
: 한꼬맹이 입니다.
:
: 다음과 같이 해보세요
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:   if(Image1->Picture->Graphic == NULL)
:     ShowMessage("그림 없다.");
:   else
:     ShowMessage("그림 있다.");
: }
:
: 그럼 참고하시길....

하하! 그렇군요.
전 Image1->Picture->Graphic->Empty property로 확인 시도해 보았었는데,
초기에 EAccessViolation 이 발생해서, "..->Graphic 까지 볼 건 없겠군, 이라고
생각했는데.... 조금만 더 생각했으면 ...

여튼 감사합니다.

최성규

+ -

관련 글 리스트
6443 [Q] TImage Object에 이미지가 있나/없나 확인하는 방법 최성규 2224 2001/03/29
6466     Re:[Q] TImage Object에 이미지가 있나/없나 확인하는 방법 한꼬맹이 2205 2001/03/30
6468         Re:Re:[Q] TImage Object에 이미지가 있나/없나 확인하는 방법 최성규 2337 2001/03/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.