Q&A

  • 도와주세요 부탁합니다.
unit

마우스가 컨트롤위에 오면 CM_MOUSEENTER이란 메세지가 발생합니다.또 마우스가 커트롤에서 벗어나면 CM_MOUSELEAVE란 메세지가 발생하죠.

델에서Q&A에서 본 코드입니다.

그런데 제가 델 초보라서 잘 안돼요...

자세히 말하면 모르겠습니다.

이 코드를 보시고 자세한 설명해 주세요...부탁합니다.



interface

uses

()()()()()();

type

()

()

private

FGlyph1:TBitmap;

FGlyph2:TBitmap;

procedure SetGlyph1(const Value:TBitmap);

procedure SetGlyph2(const Value:TBitmap);

protected

procedure CMMouseEnter(var Message:TMessage);Message CM_MOUSEENTER;

Procedure CMMouseLeave(var Message:TMessage);Message CM_MOUSELEAVE;



{ Private declarations }

public

constructor Create(AOwner:TComponent);

destructor Destroy;override

published

property Glyph1:TBitmap read FGlyph1 write SetGlyph1;

property Glyph2:TBitmap read FGlyph2 write SetGlyph2;

{ Public declarations }

end;



var

Video: TVideo;

count : integer;



implementation

constructor TMyBitBtn.Create(AOwner:TComponent);

begin

inherited Create(AOwner);

FGlyph1 := TBitmap.Create;

FGlyph2 := TBitmap.Create;

if Glyph := TBitBtn.Destroy;

end;

begin

FGlyph1.Free;

FGlyph2.Free;

inherited;

end;

procedure TMyBitBtn.CMMouseEnteer(var Message:TMessage);

begin

Glyph.Assign(Glyph1);

end;

procedure TMyBitBtn.CMMouseLeave(var Message:TMessage);

begin

Glyph.Assign(Glyph2);

end;

procedure TMyBitBtn.SetGlyph1(const Value:TBitmap);

begin

FGlyph1.Assign(Value);

end;

procedure TMyBitBtn.SetGlyph2(const Value:TBitmap);

begin

FGlyph2.Assign(Value);

end;

end.

그럼 즐거운 하루 되세요





1  COMMENTS
  • Profile
    이만준 2000.03.22 22:45


    안녕하세요...

    아래 쓰신 코드는 컴포넌트 코드이군요...



    TBitBtn 을 상속받아 새 컴포넌트틀 만든 것 같습니다...

    굳이 컴포넌트로 만들지 않아도 사용할 수 있습니다.

    아래 코드입니다..



    델파이는 내부적으로

    CM_MOUSEENTER 와 CM_MOUSELEAVE 메시지를 만들어 사용한다.



    .....

    private

    { Private declarations }

    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;

    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;

    .....



    procedure TForm1.CMMouseEnter(var Message: TMessage);

    begin

    //SpeedButton1 영역에 마우스가 들어온다.

    if Pointer(Message.lParam) = SpeedButton1

    then SpeedButton1.Caption := 'Inside';

    end;



    procedure TForm1.CMMouseLeave(var Message: TMessage);

    begin

    //SpeedButton1 영역에서 마우스가 빠져나간다.

    if Pointer(Message.lParam) = SpeedButton1

    then SpeedButton1.Caption := 'Outside';

    end;



    SpeedButton1.Caption 대신 SpeedButton1.Glyph 를 이용하면 되겠죠..



    그럼.







    이빈 wrote:

    > unit

    > 마우스가 컨트롤위에 오면 CM_MOUSEENTER이란 메세지가 발생합니다.또 마우스가 커트롤에서 벗어나면 CM_MOUSELEAVE란 메세지가 발생하죠.

    > 델에서Q&A에서 본 코드입니다.

    > 그런데 제가 델 초보라서 잘 안돼요...

    > 자세히 말하면 모르겠습니다.

    > 이 코드를 보시고 자세한 설명해 주세요...부탁합니다.

    >

    > interface

    > uses

    > ()()()()()();

    > type

    > ()

    > ()

    > private

    > FGlyph1:TBitmap;

    > FGlyph2:TBitmap;

    > procedure SetGlyph1(const Value:TBitmap);

    > procedure SetGlyph2(const Value:TBitmap);

    > protected

    > procedure CMMouseEnter(var Message:TMessage);Message CM_MOUSEENTER;

    > Procedure CMMouseLeave(var Message:TMessage);Message CM_MOUSELEAVE;

    >

    > { Private declarations }

    > public

    > constructor Create(AOwner:TComponent);

    > destructor Destroy;override

    > published

    > property Glyph1:TBitmap read FGlyph1 write SetGlyph1;

    > property Glyph2:TBitmap read FGlyph2 write SetGlyph2;

    > { Public declarations }

    > end;

    >

    > var

    > Video: TVideo;

    > count : integer;

    >

    > implementation

    > constructor TMyBitBtn.Create(AOwner:TComponent);

    > begin

    > inherited Create(AOwner);

    > FGlyph1 := TBitmap.Create;

    > FGlyph2 := TBitmap.Create;

    > if Glyph := TBitBtn.Destroy;

    > end;

    > begin

    > FGlyph1.Free;

    > FGlyph2.Free;

    > inherited;

    > end;

    > procedure TMyBitBtn.CMMouseEnteer(var Message:TMessage);

    > begin

    > Glyph.Assign(Glyph1);

    > end;

    > procedure TMyBitBtn.CMMouseLeave(var Message:TMessage);

    > begin

    > Glyph.Assign(Glyph2);

    > end;

    > procedure TMyBitBtn.SetGlyph1(const Value:TBitmap);

    > begin

    > FGlyph1.Assign(Value);

    > end;

    > procedure TMyBitBtn.SetGlyph2(const Value:TBitmap);

    > begin

    > FGlyph2.Assign(Value);

    > end;

    > end.

    > 그럼 즐거운 하루 되세요

    >

    >

    • 술친구
    • 2000.03.23 00:51
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍세비
      2000.03.23 02:15
      술친구 wrote: > 안녕하세요.. 술친굽니다. > 제가 질문하고 싶은것은 다름이 아니라 > 윈2000을 깔고 ...
    • 술친구
      2000.03.23 02:58
      그때의 환경은 윈2000 Pro Kor RTM에 델5 Ent 입니다.
    • 권오준
    • 2000.03.22 23:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류종택
      2000.03.22 23:34
      Stored Procedure를 작성하셨으면.. TStoredProcedure를 사용하셔서 호출하세요.. From 류.. 권...
    • hee
    • 2000.03.22 23:13
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 류종택
      2000.03.22 23:27
      자주 나오는 질문이네요.. 파라메터를 동적으로 SQL문으로 입력하시면.. 아래와 같은 형식으로 각 파라메...
    • hee
      2000.03.23 01:01
      언제 어떻게 해야 하나요? 구체적으로 예를 들어 주실수는 없는지요 류종택 wrote: > 자주 나오는 질문이...
    • 류종택
      2000.03.23 01:22
      아래와 같이 하세요.. From 류.. --------- With Query do Begin sql.add('select ST_C...
    • 델초
    • 2000.03.22 22:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류종택
      2000.03.22 23:31
      델파이의 메인메뉴의 환경설정에서 자동저장 중.. Desktop을 지정하시면, 최종 사용하시던 상태로 저장됩...
    • 델초
    • 2000.03.22 22:07
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 류종택
      2000.03.22 23:28
      이진 데이타 타입을 이야기 합니다.. 즉 메모나 그림과 같이 사이즈가 일정하지 않은 데이타를.. 필드로 ...
    • 좋은날
      2000.03.23 22:22
      류종택 wrote: > 이진 데이타 타입을 이야기 합니다.. > 즉 메모나 그림과 같이 사이즈가 일정하지 않은 ...
    • door21
    • 2000.03.22 22:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류종택
      2000.03.22 23:38
      아래는 해당 API의 설명 부분입니다.. From 류.. --------- The TerminateProcess function ter...
    • 이광민
    • 2000.03.22 21:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 까마귀
      2000.03.23 00:37
      이광민 wrote: > 델파이를 배우는 초보학생인데요 > SQL Explorer에서 SampleMSSQL의 Table을 보려구 하...
    • 염경철
      2000.03.22 22:14
      안녕하세요. 질문내용이 패스워드를 치고 연결을 하시면 되는데 어디서 어떻게 문제가되는지요. 이광...
    • 최용일
      2000.03.22 22:24
      그냥 간단히 폼을 프린트하려면 TForm.Print메소드를 쓰세요. 폼의 클라이언트 영역을 프린트해 줍니다. ...
    • 몽이
    • 2000.03.22 21:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이준해
      2000.03.22 23:18
      Source 에서 :fieldName 이라고 적용하셨나요 ? parameter로 전달된 fieldName을 사용하고 싶으시다면 So...
    • 이만준
      2000.03.22 23:16
      안녕하세요 sql.add('select distinct :fieldname from distribute_list'); 이부분을이렇게 고치고요....
    • 초보맨
    • 2000.03.22 21:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이만준
      2000.03.22 23:04
      초보맨 wrote: > dbgrid 에 a필드에는 query1의 결과를 b필드에는 query2 의 결과를 > 이렇...
    • 박철
    • 2000.03.22 21:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류한규
      2000.03.23 16:16
      TreeView와 DB를 연동하여 사용함은 어떠할지... 저는 박철님 형태의 자료를 Treeview를 사용하여 조직...
    • 조규춘
      2000.03.22 21:04
      황영철 wrote: > 클릭시 현재 로우값을 알수가 없을까요 > 고수님의 높은 무공은 전수해주시면 > 감사...
    • 조규춘
      2000.03.23 01:37
      죄송 제목 그대로 내가 착각을 했군요! 앞으로 조심을....... 흑흑흑 조규춘 wrote: > 황영철 wrote: ...
    • 황영철
      2000.03.22 21:27
      > property RecNo: Integer; 속성이 있습니다. > > 그러니끼니 > 버튼 클릭시 > form1.caption := ...
    • 최용일
      2000.03.22 21:56
      TStringGrid.Row - 현재 선택된 셀의 Row인덱스입니다. TStringGrid.Col - 현재 선택된 셀의 Column인덱스...
    • Paddy
      2000.03.23 02:27
      procedure TForm.GridClick(Sender: TObject); var Str : String; begin With StringGrid do ...
    • 이재호
    • 2000.03.22 20:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이만준
      2000.03.22 22:59
      이재호 wrote: > DLL를 RUNTIME PACKAGE로 만드는 방법과 > 만든후 배포하는 방법을 자세히 > 예제를 ...
    • 이수정
    • 2000.03.22 20:20
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이수정
      2000.03.22 20:43
      이수정 wrote: > 새로 생성할때 > > (1) Database Driver Name > > -> MSSQL 로 설정해 놓으니....
    • 홍세비
      2000.03.22 21:51
      이수정 wrote: > > BDE 툴에서.. [+]를 누르면요... > > User Name 으로 설정해 놓은.. sa 로 비밀...
    • 조규춘
      2000.03.22 20:41
      이수정 wrote: > 새로 생성할때 > > (1) Database Driver Name > > -> MSSQL 로 설정해 놓으니....
    • 초보
    • 2000.03.22 19:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 허창회
    • 2000.03.22 19:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.03.22 20:23
      허창회 wrote: > rs232 통신을 할려고 하는데 통신 콤포넌트를 어떻게 등록하는지요... > 전 델파이가 첨...
    • 이빈
    • 2000.03.22 19:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이만준
      2000.03.22 22:45
      안녕하세요... 아래 쓰신 코드는 컴포넌트 코드이군요... TBitBtn 을 상속받아 새 컴포넌트틀 만든 ...
    • 좋은날
      2000.03.23 22:36
      하소연 wrote: > 안녕하세요 다시 한텔에 도움을 받고자 띄웁니다. > 그동안 이곳 저곳에 32k 이상의 화...