|
LMD-Tools의 많은 컴포넌트 중에서 몇 가지 본 듯합니다.
초록물고기 님이 쓰신 글 :
: 안녕하세요..
: 마우스가 이미지 버튼위나 toolbutton 위에 왔을때, button의 테투리가 생기게 한다든지,
: 이미지가 바뀌게 한다든지의 operation을 하고 싶어서,
: CM_MOUSEENTER와 CM_MOUSELEAVE 를 메시지 맵에 집어 넣어서 새로운 compent 설치
: 까지 성공적으로 되었는데...
: 이렇게 생성된 컴포넌트를 폼위에 가져다 놓고,
: event를 확인해 보면, 추가 했던 CM_MOUSEENTER와 CM_MOUSELEAVE 가 없습니다.
: 무엇인가의 추가적으로 더 작업을 해야하는건지요?
:
: 위의 기능을 수행하고 있는, 이미 만들어진 컴포넌트는 없나요? ( C++ builder componet 중에 )
: dxforumLibary를 설치해 보았는데, (멋진 이미지 버튼은 많은데... ) 위와 같은 기능을 수행하는
: 버튼은 없는것 같아서요!!!
:
: ==== CM_MOUSEENTER와 CM_MOUSELEAVE 를 메시지 맵에 추가한 simple 한 code ====
: //헤더.
: //---------------------------------------------------------------------------
:
: #ifndef MyToolButtonH
: #define MyToolButtonH
: //---------------------------------------------------------------------------
: #include <SysUtils.hpp>
: #include <Classes.hpp>
: #include <Controls.hpp>
: #include <StdCtrls.hpp>
: #include <comctrls.hpp>
: //---------------------------------------------------------------------------
: // TButtonControl=> TToolButton
: class PACKAGE TMyToolButton : public TToolButton
: {
: private:
:
: void OnMouseEnter(TMessage &msg);
: void OnMouseLeave(TMessage &msg);
:
: protected:
: public:
: __fastcall TMyToolButton(TComponent* Owner);
: __published:
:
: BEGIN_MESSAGE_MAP
: VCL_MESSAGE_HANDLER(CM_MOUSEENTER, TMessage, OnMouseEnter);
: VCL_MESSAGE_HANDLER(CM_MOUSELEAVE, TMessage, OnMouseLeave);
: END_MESSAGE_MAP(TToolButton);
:
: };
: //---------------------------------------------------------------------------
: #endif
:
: //cpp 파일
: #include <vcl.h>
: #pragma hdrstop
: #include "MyToolButton.h"
: #pragma package(smart_init)
: void TMyToolButton::OnMouseEnter(TMessage &msg)
: {
: Label1->Text = "들어왔슴"; // 나중에 이미지나 버튼의 테두리가 변하는 작업을 해야함.
: }
: void TMyToolButton:: OnMouseLeave(TMessage &msg)
: {
: Label1->Text = "나갔슴";//나중에 이미지나 버튼의 테두리가 변하는 작업을 해야함
: }
: static inline void ValidCtrCheck(TMyToolButton *)
: {
: new TMyToolButton(NULL);
: }
: //---------------------------------------------------------------------------
: // TButtonControl ==> TToolButton
: __fastcall TMyToolButton::TMyToolButton(TComponent* Owner)
: : TToolButton(Owner)
: {
: }
: //---------------------------------------------------------------------------
: namespace Mytoolbutton
: {
: void __fastcall PACKAGE Register()
: {
: TComponentClass classes[1] = {__classid(TMyToolButton)};
: RegisterComponents("Samples", classes, 0);
: }
: }
: //---------------------------------------------------------------------------
|