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
[64396] Re:TObject *Sender의 의미에 관한 질문입니다.
아제나 [azena] 1615 읽음    2011-05-20 14:02
RoomListClick 함수를 임의로 호출하려고 했는데, 파라미터 때문에 고민하고 계시군요.

일반적으로는 그냥 this를 넣어주시면 됩니다.

NULL을 넣으셔도 되고요.

RoomListClick(this);
RoomListClick(NULL);

RoomListClick 함수 내부에서 Sender를 처리하지 않으면 실제로는 의미 없는 값이기 때문이죠.

VCL 내부에서 호출할 때 어느 컴퍼넌트에서 호출되었는지 전달이 되기 때문에 Sender값이 존재하는 것입니다.

비슷한 역할을 하는 버튼이 수십개 있을 때, 버튼 클릭 이벤트를 만들어야 할 경우,

수십개의 버튼의 각각 클릭 이벤트를 모두 만들면 빡시겠죠?

이런 경우에 버튼 클릭 이벤트를 하나 만들어 놓고, Sender에 ClassName 을 읽어서

버튼을 구별해서 처리하면 매우 편해지겠죠~

Sender->ClassName();

값을 한번 화면에 찍어보세요~



B-Fron 님이 쓰신 글 :
: 검색해보니 "TObject *Sender는 이벤트를 발생시킨 VCL 객체를 넘겨주는 객체 포인터입니다."
:
: 라는 말이 있는데.. C++를 배우고 있는 저로써는 아직은 조금 이해하기 어렵네요 -_-;
:
:
:
: 프로그램 시작과 동시에 StringGrid의 어떤 행을 클릭 했을때의 효과를 주고 싶어서
:
: 클래스 생성자에 RoomListClick함수(RoomList는 StringGrid 객체 이름)를 실행하도록 하고 싶어서 보니
:
:
: void __fastcall TRoomManage::RoomListClick(TObject *Sender)
:
:
: 라고 나와서 매개변수를 대체 뭘로 넘겨줘야 할까....-_-; 하는 의문점이 들더군요
:
: 폼 안에 있는 아무 객체의 이름을 쓰니 제가 원하던 결과가 나오긴 했는데.. 어떤 구조로 실행되는건지 궁금합니다

+ -

관련 글 리스트
64387 TObject *Sender의 의미에 관한 질문입니다. B-Fron 1505 2011/05/19
64396     Re:TObject *Sender의 의미에 관한 질문입니다. 아제나 1615 2011/05/20
64388     Re:TObject *Sender의 의미에 관한 질문입니다. 이길남.HoPe 1508 2011/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.