::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-07 09:38:01, Hit : 6122, Vote : 1859
 실행된 Tray Icon 변경하기

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, ShellAPI, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Image1: TImage;
    Image2: TImage;
    procedure Timer1Timer(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  MyNotifyStruct: TNotifyIconData;

implementation
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  with MyNotifyStruct do
  begin
    cbSize := SizeOf(MyNotifyStruct);
    Wnd := Form1.handle;
    uID := 1;
    uFlags := NIF_ICON or NIF_TIP;
    hIcon := Image1.Picture.Icon.Handle;
    StrPCopy(szTip, Application.Title);
  end;

  // 아래 주석으로 표시된 부분은 Tray Icon 으로 만들때 폼을 Hide 시켜서
  // Task Bar 에 나타나지 않도록 만들때 사용하면 된다
  // ShowWindow(Form1.Handle, SW_HIDE);
  Shell_NotifyIcon(NIM_ADD, @MyNotifyStruct); // Tray Icon 으로 등록
  // ShowWindow(Application.Handle, SW_HIDE);
  // ShowWindow(Application.Handle, SW_MINIMIZE); // Show중인 다른 폼들도 감추기 위해
  // ShowWindow(Application.Handle, SW_HIDE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  // Tray Icon 정보를 변경한다
  Shell_NotifyIcon(NIM_Delete, @MyNotifyStruct);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StrPCopy(MyNotifyStruct.szTip, TimetoStr(Time)); // 현재 시간을 Caption으로...
  // 아이콘을 주기적으로 바꾼다
  if (MyNotifyStruct.hIcon = Image1.Picture.Icon.Handle) then
     MyNotifyStruct.hIcon:= Image2.Picture.Icon.Handle
  else
     MyNotifyStruct.hIcon:= Image1.Picture.Icon.Handle;

  Shell_NotifyIcon(NIM_Modify, @MyNotifyStruct);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  // 프로그램 종료시 Tray Icon을 내린다
  Shell_NotifyIcon(NIM_Delete, @MyNotifyStruct);
end;

end.





971   [시스템] 델파이로 DOS 프로그램(Console application) 만들기  김영대 2003/03/06 8701 2828
970   [네트웍/인터넷] 윈도우즈 소켓의 에러번호에 대한 설명  김영대 2003/03/05 7600 2641
969   [시스템] 2기가 이상의 하드의 남은 용량 알아내기...  김영대 2003/03/06 7394 2071
968   [윈도우즈 API] 윈도우즈 커서(global cursor) 바꾸기  김영대 2003/03/07 6508 2020
967   [윈도우즈 API] 폼을 최상위로 설정 및 해제  김영대 2003/03/04 5682 2006
966   [시스템] 시스템 타임이 변경되었는지를 알아내려면...  김영대 2003/03/05 7242 2002
965   [네트웍/인터넷] RFC: Request for Comments  김영대 2003/03/05 7536 1977
964   [시스템] 마우스의 좌/우 기능설정과 버튼갯수 알기  김영대 2003/03/06 7208 1958
963   [일반/컴포넌트] ListBox에 검색(근접검색)기능 두기  김영대 2003/03/05 5857 1954
962   [윈도우즈 API] 작업표시줄의 시계 감추기/보이기  김영대 2003/03/27 7040 1921
961   [윈도우즈 API] "Windows 정보" About 화면 사용하기  김영대 2003/03/06 6236 1921
960   [네트웍/인터넷] How to bring a network down - "Win Nuke"  김영대 2003/03/06 7028 1919
959   [시스템] 내 PC에 사운드카드가 있는지 검사  김영대 2003/03/04 6585 1899
  [윈도우즈 API] 실행된 Tray Icon 변경하기  김영대 2003/03/07 6122 1859
957   [데이터베이스] FoxPro의 제한  김영대 2003/03/05 6650 1846
956   [일반/컴포넌트] 동적으로 생성한 TLabel 마우스로 이동시키기  김영대 2004/08/04 6256 1845
955   [네트웍/인터넷] Ethernet 랜카드의 MAC adress 구하기  김영대 2003/03/07 7080 1843
954   [일반/컴포넌트] TStatusBar 의 각 Panel의 폰트 바꾸기  김영대 2003/03/04 5521 1833
953   [윈도우즈 API] IE의 "즐겨찾기 구성" 화면 띄우기  김영대 2003/03/30 5534 1831
952   [윈도우즈 API] WinPopup 을 만들기 위한 Mail Slot ?  김영대 2003/03/05 6417 1830
951   [일반/컴포넌트] 데스크탑의 아이콘을 몽땅 움직여보자!!  김영대 2003/03/05 6214 1829
950   [네트웍/인터넷] List of raw FTP commands  김영대 2003/03/05 7021 1828
949   [윈도우즈 API] 윈도우즈 탐색기의 아이콘 뽑아내서 사용하기  김영대 2003/03/07 6291 1825
948   [시스템] 키보드의 Num Lock 키 켜고 끄기  김영대 2003/03/05 6134 1822
947   [일반/컴포넌트] 명령행 인자 받아오기  김영대 2003/03/05 6986 1821
946   [네트웍/인터넷] RS232 통신  김영대 2003/03/07 6690 1801
945   [네트웍/인터넷] NetMask 알아내기  김영대 2003/03/07 7002 1797
944   [일반/컴포넌트] 날짜계산: (yyyy-4) + (mm+254) + (dd+1234) = 몇일?  김영대 2003/03/05 6208 1787
943   [윈도우즈 API] System Images  김영대 2003/03/07 6127 1774
942   [시스템] 프린트 스풀러 제어방법  김영대 2003/03/07 6139 1770
941   [시스템] 마우스가 설치되어 있는지 검사하기  김영대 2003/03/07 6612 1765
940   [일반/컴포넌트] 윈도우즈 "날짜/시간" 설정화면 띄우기  김영대 2003/03/06 5984 1765
939   [시스템] 마우스 자취(trails)의 갯수 조정하기  김영대 2003/03/06 5621 1763
938   [시스템] 마우스 두 번 누르기 속도 조정하기  김영대 2003/03/06 5700 1762
937   [윈도우즈 API] TreeView의 hint popup 없애기  김영대 2003/03/07 5489 1755
936   [일반/컴포넌트] TRichEdit 를 disable 할 때 배경색과 폰트 바꾸기  김영대 2004/09/02 6098 1751
935   [일반/컴포넌트] 메뉴의 잘못된 accelerator 를 선택했을때  김영대 2003/03/05 6185 1750
934   [일반/컴포넌트] 사업자 등록번호를 검사하는 법  김영대 2003/03/06 6689 1742
933   [윈도우즈 API] 임시로 만든 파일 꼭 지우기  김영대 2003/03/04 6117 1736
932   [시스템] 윈도우즈 네트워크 드라이브 리스트  김영대 2003/03/05 6628 1734

1 [2][3][4][5][6][7][8][9][10]..[25] [다음 10개]
 

Copyright 1999-2019 Zeroboard / skin by zero