Q&A

  • TrayIcon 에서의 문젭니다...
안뇽하세요...

질문이 있습니다.

TrayIcon에서요.. 팝업메뉴를 만드는 방법좀 알려주세요..

그러니까 Icon에서 오른쪽 마우스클릭 했을때 나타나는

메뉴 말입니다....

프로그램을 만들어서 TrayIcon에 넣었는데 팝업메뉴에서

종료를 시킬려고 하는데 방법을 모르겠군요...

그리고 또한가지 TrayIcon에서 실행시킨 프로그램을 닫으면

그냥 종료되는데 폼을 Hide시켜서 TrayIcon은 살아있어서

언제든지 프로그램을 실행시킬수 있는 방법이 없을까요...

FormClose이벤트에서 Action := caHide 하니까 안되는군요..

어떻게 해야하는지...

그리고 마지막 질문입니다..(질문이 너무 많죠(^^;))

FileListBox에 파일리스트를 보여줄때 아이콘도 보여주는

방법은 없나요?

하하...바보같은 질문인가...

좀 갈켜주세요..

이상입니다..



1  COMMENTS
  • Profile
    최석기 1999.06.16 01:27
    > TrayIcon에서요.. 팝업메뉴를 만드는 방법좀 알려주세요..

    > 그러니까 Icon에서 오른쪽 마우스클릭 했을때 나타나는

    > 메뉴 말입니다....



    제가 예전에 만들었던 부분의 소스를 약간 올려드리죠..

    마우스 오른쪽 클릭은 WM_RBUTTONDOWN 메시지를 핸들링 하면되죠..



    procedure TfrmFax.WndProc;

    begin

    case Message.Msg of

    MY_SHOWFORM_ID:

    case Message.lParam of

    WM_LBUTTONDBLCLK: begin

    Self.Show;

    end;

    WM_RBUTTONDOWN:ViewPopUp(TWMRButtonDown(Message))

    end;

    end;

    inherited;

    end;



    procedure TFrmFax.ViewPopUp(var AMsg : TWMRButtonDown );

    var PtMouse : TPoint;

    begin

    //현재의 마우스 포인터를 얻는다

    GetCursorPos(PtMouse);

    //팝업 메뉴를 띄운다.

    PopUpMenu1.PopUp(PtMouse.X, PtMouse.Y);

    end;



    > 프로그램을 만들어서 TrayIcon에 넣었는데 팝업메뉴에서

    > 종료를 시킬려고 하는데 방법을 모르겠군요...

    > 그리고 또한가지 TrayIcon에서 실행시킨 프로그램을 닫으면

    > 그냥 종료되는데 폼을 Hide시켜서 TrayIcon은 살아있어서

    > 언제든지 프로그램을 실행시킬수 있는 방법이 없을까요...



    TrayIcon에서 실행 시킴 파일을 종료 않구 Hide를 시키시려면 WM_SysCommand 메시지를 핸들링 하시면 될꺼예요.



    procedure TFrmFax.WMSysCommand;

    begin

    if (Msg.CmdType = SC_CLOSE) then begin //폼 종료시 TrayIcon으로 복귀.

    Self.Hide;

    ShowWindow (Application.Handle, SW_HIDE);

    end

    else

    inherited;

    end;



    팝업으로 종료 시키시려면 팝업에 종료 이벤트 하나 두시고 다음과 같이 하면 되죠..



    procedure TFrmFax.X1Click(Sender: TObject); //종료 이벤트

    begin

    //트레이 아이콘을 없앤다. 원래는 없애지 않아도 폼을 종료하면

    //자동으로 사라지긴 하지만 간혹 Tray에 남는 경우가 있더라구요.

    Shell_NotifyIcon ( NIM_DELETE, @IconData );

    //IConData는 트레이 정보를 가지고 있느 구조체.

    // iconData : TNotifyIconData;

    //폼을 종료한다.

    Close;

    end;





    • 이호선
    • 1999.06.16 07:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.16 18:48
      이호선 께서 말씀하시기를... > 안녕하세요 > 한 폼에서 ShowModal로 폼을 띄웠습니다. 이 Modal폼에서 ...
    • 신인재
      1999.06.17 01:08
      테이블이 어떤 테이블인지..... 만약 파일시스템에서 사용하는 파라독스같은 것이면 delzip을 이용하...
    • 초보
      1999.06.17 03:14
      감사합니다. 근데 바쁘신가봐요 자료실에 확인해 봤는데 없더라구요 빨리 올려주세요 그럼.. 신인...
    • 이주흥
    • 1999.06.16 06:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.16 18:54
      이주흥 께서 말씀하시기를... > 이거 여기 질문해도 되나 모르겠습니다.. > 다름이 아니고 레지스트리에 ...
    • 홍성원
    • 1999.06.16 05:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.16 18:57
      홍성원 께서 말씀하시기를... > 델파이에서의 '폼 디자인'을 그대로 > 모사할 수 있는 방법을 알고 싶습...
    • 최기훈
    • 1999.06.16 03:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.06.16 03:45
      최기훈 께서 말씀하시기를... > System Menu에서 X로 표시된 버튼을 누르면 User에서 물어본다면 해당 > ...
    • 최선기
    • 1999.06.16 02:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김우철
      1999.06.16 09:35
      고수님의 답변에 덧붙여 몇자 적습니다. 일반적으로 Application을 만들때 젤 먼저 결정해야할 문제중 하...
    • 안치봉
      1999.06.16 03:55
      최선기 께서 말씀하시기를... > Project메뉴/option의 Forms 페이지의 기능에 대해 자세히 알고 싶습니다....
    • 이영범
    • 1999.06.16 01:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.06.17 17:42
      이영범 께서 말씀하시기를... > 안녕하십니까?... > 퀵리포트에서는 Query컴포넌트(이후 Query)를 1개밖...
    • 서영환
    • 1999.06.16 01:23
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.16 03:31
      서영환 께서 말씀하시기를... > Active Form에서 다운 받은 OCX를 설치하면, > 버전업을 해도 다시 다운...
    • 서영환
      1999.06.16 04:52
      안치봉 께서 말씀하시기를... > 서영환 께서 말씀하시기를... > > Active Form에서 다운 받은 OCX를 설치...
    • 공대규
      1999.06.29 17:18
      > codebase="http://210.116.3.220/t3/tProj1.cab"#version=1,0,0,0 위 부분의 따옴표가 혹시 "htt...
    • 하명훈
    • 1999.06.16 01:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.06.16 01:27
      하명훈 께서 말씀하시기를... > procedure TSearch.Button1Click(Sender: TObject); > 쿼리를 엑세스하...
    • 박성훈
    • 1999.06.16 01:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.16 04:16
      박성훈 께서 말씀하시기를... > procedure Button1Click(Sender: TObject); > begin > Self.Close; ...
    • 강미라
    • 1999.06.16 00:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김우철
      1999.06.16 02:23
      고수는 아니지만, 기냥 써볼랍니다. 날짜에 대한 자료를 처리할수 있는 클래스를 만들어서 윤년계산, 해당...
    • 김진성
    • 1999.06.16 00:42
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      1999.06.16 00:49
      김진성 께서 말씀하시기를... > ORACLE에서는 ROWNUM을 이용하여 존재하는 레코드에 대한 > 각각의 번호...
    • 김진성
      1999.06.16 06:22
      김태균 께서 말씀하시기를... > 김진성 께서 말씀하시기를... > > ORACLE에서는 ROWNUM을 이용하여 존재...
    • 김태균
      1999.06.16 18:23
      음..... 테이블을 만들때 포함시키는 것입니다. SQLServer에서 테이블을 생성할 때 순서가 다음과 같...
    • 최기훈
    • 1999.06.16 00:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최기훈
      1999.06.16 03:05
      최기훈 께서 말씀하시기를... > 안녕하세요. 염치를 불구하고 이렇게 또 메일을 올립니다. > Delphi에서 ...
    • 장일
    • 1999.06.15 22:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
    • 1999.06.15 22:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      1999.06.16 01:27
      > TrayIcon에서요.. 팝업메뉴를 만드는 방법좀 알려주세요.. > 그러니까 Icon에서 오른쪽 마우스클릭 했을...
    • 디제이
    • 1999.06.15 20:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 21:07
      디제이 께서 말씀하시기를... > > 비베에서는 On Error goto문이 있습니다만 > 델파이에서는 어떤식으...