|
알려주신대로 해 봤지만 마찬가지 입니다.
그리고 Nave을 제외한 다른 프로퍼티드은 잘 됩니다.
아무래도 컴포넌트를 만드는 부분에서 문제가 있는것 같은데 잘모르겠습니다...
답변 감사합니다.
장성호 님이 쓰신 글 :
: 참고만 하세요
: 직접테스트 해본것이 아니라 정확하지 않을 수 있습니다.
: 또한 질문이 좀 애매한 부분도 있구요
:
: ((TNewChart *)Sender)->Name ==>여기에서 Name이 없다고 하셨는데요?
: 위 코딩을 어느 이벤트에서 하셨나요?
:
: 혹시 새로만드신 NewChart에 올린 SpeedButton 클릭이벤트에서 하신 것은 아닌지요?
: Component마다 다르겠지만 Sender는 TNewChart가 아니라 TSpeedButton일수 있습니다.
: TSpeedButton이라면 Name을 따로 컴포넌트 만드는 코드에서 정해주지 않았다면
: 나오지 않는것이 당연한것 같은데요
:
: 예를 들어 TMainMenu 에 메뉴를 추가하고 추가한 menu의 click이벤트에서
: Sender가 TMainMenu가 아니라 TMenuItem 입니다.
:
: 만약 Sender가 TSpeedButton이라면
: TNewChart의 이름을 찾는것은 Parnet속성을 이용하시면 됩니다.
:
: TControl *ctrl=(TControl *)Sender;
: if(ctrl->Parnet)
: ShowMessage(((TNewChart *)ctrl->Parnet)->Name );
:
: 그럼..
:
:
:
: 왕초보빌더 님이 쓰신 글 :
: : Chart안에 스피드 버튼이 필요해서
: : 새로운 컴포넌트를 만들었습니다.
: :
: : 컴포넌트를 만들때 헤더파일에
: :
: : TSpeedButton* FChartFormatBTN;
: :
: : __property TSpeedButton* ChartFormatBTN = {read = FChartFormatBTN , write = FChartFormatBTN };
: :
: : 하고나서 컴파일 -> 인스톨 후
: : 오브젝트 인스펙터를 보면 제가 추가한 스피드버튼이
: :
: : +ChartFormatBTN 와 같이 표시가 됩니다.
: : 그래서 +를 클릭하여 확장한 다음 스피드버튼의 프로퍼티를 셋팅해서 사용할 수 있게 되었는데,
: : 이벤트는 되지를 않습니다.
: : 그래서 지금은 메뉴얼을 참고하여 버튼의 클릭 이벤트를 생성하여 사용하고 있습니다.
: :
: : 저는 이벤트도 프로퍼티와 마찬가지로 오브젝트인스펙터에서 + 표시가 되어서 스피드버튼의 모든 이벤트를
: : 사용할 수 있도록 나오게 하고싶습니다.
: :
: : 도움 부탁드립니다.
: :
: : 한가지 문제가 더 발생했습니다.
: :
: : 프로그램에 컴포넌트를 갖다놓고
: : ((TNewChart *)Sender)->Name 로해서 이름을 알아내려 하는데
: : 분명히 Name프로퍼티에 입력을 해 줬지만,
: : ShowMessage로 출력을 해보면 아무것도출력이 되지 않습니다.
: : 혹 이유를 아시는 분이 계시면 이문제도 부탁드립니다.
: :
: : 그럼 미리 감사합니다.~^^
|