Q&A

  • 실행화일을 만들고 TrayIcon 을 붙었는데... 메인폼은 않떴으면 하고 ...???
[질문] 실행화일을 만들고  TrayIcon 을 붙었는데... 메인폼은 않떴으면 하고 ...

테스크 바에서 오른쪽 마우스 클릭을 하면 팝업 메뉴가 나와서 메인으로
들어가게 하고싶은데...

TrayIcon은 첨 만드는 거라... ^^;


소스는 이렇게 했거든요..


private
    { Private declarations }
    IconData : TNotifyIconData;
    Procedure WndProc(var Message : Tmessage); override;


Procedure TMain_F.WndProc;
begin
  case Message.Msg of
    WM_USER + 1 : case Message.LParam of
                       WM_RBUTTONUP:
                       Shell_NotifyIcon(NIM_DELETE, @IconData);
                  end;
  end;
  inherited;
end;

procedure TMain_F.FormCreate(Sender: TObject);
var
  TrayIcon : TIcon;
begin
  wDateEdit2.AsString := Formatdatetime('YYYY/MM/DD',Now);
  // Tray Icon 그림을 Load한다...
  TrayIcon := TIcon.Create;
  TrayIcon.LoadFromFile('C:SCL-프로그램세브란스병원DprInternet.ico');

  with IconData Do
  begin
    cbSize := SizeOf(TNotifyIconData);
    Wnd    := Handle;
    uID    := 10;
    uFlags := NIF_MESSAGE+NIF_ICON+NIF_TIP;
    uCallbackMessage := WM_USER+1;
    hICON  := TrayIcon.Handle;
    szTip  := '세브란스 병원 프로그램';
  end;
  Shell_NotifyIcon(NIM_ADD, @IconData);
  TrayIcon.Free;
  ShowWindow(Application.Handle, SW_HIDE);

end;

이렇게 하면 메인폼도 올라오고 테스크 바에도 올라옵니다.

메인폼이 죽더라도 테스크 바에서는 남아있게 해야되거든요...

한마디로 말해서 시스템 감시 하는 프로그램을 만들려고 합니다..

고수님들의 많은 조언 부탁 드립니다...
1  COMMENTS
  • Profile
    델파이탐크루즈 2002.03.26 01:21
    헤맸습니다...이렇게 간단한걸 가지고....
    이렇게 하면 되더라구여...
    그럼... 즐코........  

    case Message.Msg of
        WM_USER + 1 : case Message.LParam of
                             WM_RBUTTONUP:                         // 오른쪽 버튼을 누를때 동작...
                             begin
                             end;
                             WM_LBUTTONDBLCLK:                     // 왼쪽 버튼 더블클릭시 동작...
                             begin
                             end;

                      end;
      end;