검색을 해보니까 Tray아이콘에 대해서 몇가지 나타난것이 있더군요
tray콤포넌트를 사용해서 트래이 아이콘화하는 것 까지는 했는데요
종료시나 미니마이즈시에 트래이 아이콘화가 잘 되지 않더군요
물론 그 부분도 소스가 떠 있긴한데
제가 잘 못 알아 들은건지는 몰라도 잘 안돼더군요
개괄적으로 제가 만들고자 하는 소프트웨어에대해 말씀드리면
채팅 프로그램인데요
평소에는 트래이 아이콘화되어 있다가 채팅신청이 오면
메세지를 띄워서 채팅에 응하겠다면 채팅을 화면에 채팅창을 띄우려는
것이 거든요
밑에 있는 부분은 트래이 아이콘 관련해서 코딩한 부분입니다.
procedure TchatForm.WndProc;
begin
case Message.Msg of
MY_SHOWFORM_ID:
BEGIN
case Message.lParam of
WM_LBUTTONDBLCLK: begin
Self.Show;
end;
WM_RBUTTONDOWN:ViewPopUp(TWMRButtonDown(Message));
WM_SysCommand :WMSysCommand(TWMSysCommand(message));
end;
END;
end;
inherited;
end;
procedure TchatForm.WMSysCommand( var Msg : TWMSysCommand );
begin
if (Msg.CmdType = SC_CLOSE) then begin //폼 종료시 TrayIcon으로 복귀.
Self.Hide;
ShowWindow (Application.Handle, SW_HIDE);
end
else
inherited;
end;
트래이 아이콘에 관련된 전반적이 소스를 보았으면 더욱 좋겠는데
선배님들의 많은 도움 기다리겠습니다.
그럼
> 검색을 해보니까 Tray아이콘에 대해서 몇가지 나타난것이 있더군요
> tray콤포넌트를 사용해서 트래이 아이콘화하는 것 까지는 했는데요
> 종료시나 미니마이즈시에 트래이 아이콘화가 잘 되지 않더군요
> 물론 그 부분도 소스가 떠 있긴한데
> 제가 잘 못 알아 들은건지는 몰라도 잘 안돼더군요
> 개괄적으로 제가 만들고자 하는 소프트웨어에대해 말씀드리면
> 채팅 프로그램인데요
> 평소에는 트래이 아이콘화되어 있다가 채팅신청이 오면
> 메세지를 띄워서 채팅에 응하겠다면 채팅을 화면에 채팅창을 띄우려는
> 것이 거든요
>
> 밑에 있는 부분은 트래이 아이콘 관련해서 코딩한 부분입니다.
>
> procedure TchatForm.WndProc;
> begin
> case Message.Msg of
> MY_SHOWFORM_ID:
> BEGIN
> case Message.lParam of
> WM_LBUTTONDBLCLK: begin
> Self.Show;
> end;
> WM_RBUTTONDOWN:ViewPopUp(TWMRButtonDown(Message));
> WM_SysCommand :WMSysCommand(TWMSysCommand(message));
> end;
> END;
> end;
> inherited;
> end;
>
>
> procedure TchatForm.WMSysCommand( var Msg : TWMSysCommand );
> begin
> if (Msg.CmdType = SC_CLOSE) then begin //폼 종료시 TrayIcon으로 복귀.
> Self.Hide;
> ShowWindow (Application.Handle, SW_HIDE);
> end
> else
> inherited;
> end;
>
>
> 트래이 아이콘에 관련된 전반적이 소스를 보았으면 더욱 좋겠는데
> 선배님들의 많은 도움 기다리겠습니다.
> 그럼
이태종님 안녕하세요?
사용하신 소스를 보니, 트레이 아이콘을 마우스로 클릭했을경우
반응하도록 작성해 두셨네요.
종료시에는 메세지를 잡아채 그냥 숨기는 것으로 되어 있네요.
그 보담은 외부변수를 이용한 CloseQuery 이벤트
핸들러를 이용하는 편이 나을듯 하구요,
채팅신청은 소켓으로 하셨을 테니, 소켓에서 신청메세지를 받았을때
채팅창을 Show 하시면 되겠군요.
그럼 다 된거 같은데..^^
그럼.. 즐거운 프로그래밍~~