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 00:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 구민오
      1999.03.29 08:47
      원도우즈가 시작될때 실행되도록하려고 하거든요... 즉 시작프로그램으로 등록시키려고요... 어떻게 해야...
    • 김우철
      1999.06.16 02:23
      고수는 아니지만, 기냥 써볼랍니다. 날짜에 대한 자료를 처리할수 있는 클래스를 만들어서 윤년계산, 해당...
    • 안치봉
      1999.03.30 01:56
      구민오 wrote: > 원도우즈가 시작될때 실행되도록하려고 하거든요... > 즉 시작프로그램으로 등록시키려...
    • 이호선
    • 1999.03.27 21:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.30 01:59
      이호선 wrote: > 안녕하세요 > 다름이 아니라 대략 Active-X페이지에서 해야된다는 것은 알겠지만 > 단...
    • 김진성
    • 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.03.26 23:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.27 01:24
      주선희 wrote: > 답변감사드립니다. > 그런데 보충질문 좀 할께요. > 뒷배경은 배경화면 뿐만이 아니라 ...
    • 최기훈
    • 1999.06.16 00:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최기훈
      1999.06.16 03:05
      최기훈 께서 말씀하시기를... > 안녕하세요. 염치를 불구하고 이렇게 또 메일을 올립니다. > Delphi에서 ...
    • 주선희
    • 1999.03.26 23:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.27 01:24
      주선희 wrote: > 답변감사드립니다. > 그런데 보충질문 좀 할께요. > 뒷배경은 배경화면 뿐만이 아니라 ...
    • 장일
    • 1999.06.15 22:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이호선
    • 1999.03.26 22:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.26 23:25
      이호선 wrote: > 안녕하세요. > 매번 좋은 답변을 주셔서 감사합니다. > 다름이 아니라 내가 제작한 프...
    • 이주흥
    • 1999.06.15 22:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      1999.06.16 01:27
      > TrayIcon에서요.. 팝업메뉴를 만드는 방법좀 알려주세요.. > 그러니까 Icon에서 오른쪽 마우스클릭 했을...
    • 주선희
    • 1999.03.26 21:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.26 23:19
      주선희 wrote: > 안녕하십니까? > 먼저 유익하고 좋은 페이지 제공해주는데 대해서 감사합니다. > 다름...
    • 디제이
    • 1999.06.15 20:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 21:07
      디제이 께서 말씀하시기를... > > 비베에서는 On Error goto문이 있습니다만 > 델파이에서는 어떤식으...
    • 박종성
    • 1999.06.15 20:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.03.26 22:53
      안녕하세요. 매번 좋은 답변을 주셔서 감사합니다. 다름이 아니라 내가 제작한 프로그램을 WORD나 파워포...
    • 안치봉
      1999.03.26 23:25
      이호선 wrote: > 안녕하세요. > 매번 좋은 답변을 주셔서 감사합니다. > 다름이 아니라 내가 제작한 프...
    • 주선희
    • 1999.03.26 21:17
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      1999.06.15 20:04
      음.... 조복기님이 말하신대로 바꾸어서 실행했는데요... 그래도 결과는 마찬가지네요. 몇개만 Insert했...
    • 안치봉
      1999.03.26 23:19
      주선희 wrote: > 안녕하십니까? > 먼저 유익하고 좋은 페이지 제공해주는데 대해서 감사합니다. > 다름...
    • 조복기
      1999.06.15 20:58
      김태균 께서 말씀하시기를... > 음.... 조복기님이 말하신대로 바꾸어서 실행했는데요... > 그래도 결과...
    • 조복기
      1999.06.15 21:11
      TString를 사용하는방법은 동일하지만 전 그때 이방법을 안쓰고 sql문장을 memo.line에 넣어두고 sql := ...
    • 이미옥
      1999.06.15 19:55
      간단한 ActiveForm 예제(StringGrid에 값을 뿌려주는 예제)를 만들어서 익스플로러에서 실행하다가 문제가 ...
    • 안치봉
      1999.03.26 20:05
      문보석 wrote: > 안녕하세요... > 얼마전 소켓 컴포넌트를 공부해서 약간이나마 뭔지는 알았습니다... >...
    • 안치봉
      1999.06.15 21:05
      이미옥 께서 말씀하시기를... > 간단한 ActiveForm 예제(StringGrid에 값을 뿌려주는 예제)를 만들어서 익...
    • 안치봉
      1999.03.26 20:05
      문보석 wrote: > 안녕하세요... > 얼마전 소켓 컴포넌트를 공부해서 약간이나마 뭔지는 알았습니다... >...
    • heart
    • 1999.06.15 19:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:05
      heart 께서 말씀하시기를... > > > 굴림체에서 0021에 해당하는 문자는 '!'인데 0021이란 입력값으...
    • heart
      1999.06.15 23:53
      안치봉 께서 말씀하시기를... > heart 께서 말씀하시기를... > > > > > > 굴림체에서 0021에 해당...
    • 안치봉
      1999.06.16 00:44
      heart 께서 말씀하시기를... > 안치봉 께서 말씀하시기를... > > heart 께서 말씀하시기를... > > > >...
    • 정태열
    • 1999.03.25 21:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.25 23:35
      정태열 wrote: > 안녕하세요. > 안치봉님의 답변 정말 감사합니다. > 제가 글의 표현력이 부족하여 정확...
    • 최기훈
    • 1999.06.15 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:03
      procedure Tfrm.ButtonClick(Sender: TObject); var paramName: array[0..20] of TLabel; begin ...
    • 정태열
    • 1999.03.25 21:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.03.25 23:35
      정태열 wrote: > 안녕하세요. > 안치봉님의 답변 정말 감사합니다. > 제가 글의 표현력이 부족하여 정확...
    • 북해
    • 1999.06.15 17:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:02
      북해 께서 말씀하시기를... > 안녕하세요. 동적생성한 버튼 객체를 없애려 하는데요 어떻게 하면 되는지요...