스위치 처럼 동작하는 하드웨어 장비 콘트롤 프로그램 만들때 유용한 방법 같습니다
감사합니다 빌더님 ^^
송신영 님이 쓰신 글 :
: 감사합니다~ ^^ 멋지게 동작하네요..
:
:
: 빌더(TWx) 님이 쓰신 글 :
: : Panel1 에 3개의 스피드 버튼이 있고...
: :
: : Panel2 에도 3개의 스피드 버튼이 있다고 할 때...
: :
: : 6개 스피드 버튼의 'GroupIndex' 프로퍼티를 전부 '1'로 설정해 놓고 ...
: :
: : 전체 스피드 버튼의 'OnClick' 이벤트를...
: :
: : SpeedButtonClick 이벤트 핸들러 하나를 공용으로 사용하게 해서...
: :
: : SpeedButtonClick 이벤트 핸들러에서 아래와 같은 식으로 두개의 Panel 에...
: :
: : CM_BUTTONPRESSED .. 컴포넌트 메세지를 브로드캐스트 하면 됨...
: :
: : VCL 프레임웍 구조가 그런 식으로 설계 되어 있음...
: :
: :
: :
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::SpeedButtonClick(TObject *Sender)
: : {
: : TMessage Msg;
: : Msg.Msg = CM_BUTTONPRESSED;
: : Msg.WParam = 1;
: : Msg.LParam = LPARAM(Sender);
: : Msg.Result = 0;
: : Panel1->Broadcast(&Msg);
: : Panel2->Broadcast(&Msg);
: : }
: : //---------------------------------------------------------------------------
: :
: :
: :
: :
: : ...
: :
: :
: :
: : 박지훈.임프 님이 쓰신 글 :
: : : 불가능하진 않아 보이는데 간단하지는 않을 것 같고 배보다 배꼽이 더 클 것 같네요.
: : : 그다지 큰 기능이 아니니까 Panel 대신 Bevel을 쓴다든지 하는 약간의 꼼수?를 쓰시는 게 어떨지.
: : :
: : : Bevel을 쓰게 되면 버튼들의 레이아웃(이동 등)이 좀 귀찮아질텐데... 약간의 꼼수를 더 써서, 두 Bevel과 버튼들을 모두 하나의 패널 위에 올리고, 그 패널의 Border를 안보이게 하면 레이아웃도 깔끔해질 거 같네요.
: : :
: : : 저도 꼼수는 안좋아하는데.. 뭐 이건 그럴 공을 들일만한 일이 아닐 것 같아서.. ㅎㅎ
: : :
: : :
: : : 송신영 님이 쓰신 글 :
: : : :
: : : :
: : : : Speed button 을 첨부한 사진 처럼 각각 다른 Panel에 올렸을 경우
: : : : GroupIndex를 동일하게 하더라도 따로 놀더군요
: : : : 혹시 다른 Panel에 올려진 Speed Button 도 같은 Group으로
: : : : 묶을 수 있는 방법이 있나요?
: : : :
: : : : RAD Studio 2010