IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 20 Ocak 2012, 11:15   #1
Çevrimdışı
aSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Delphide yapılan programı system tray olarak görüntülemek




Soru ; Delphide bir program yazıp çalıştırıp kullanıldıktan sonra kapat butonuna bastığında system tray e nasıl gönderebilirim. İstediğim flashget programı gibi olması. programdan tam çıkış için system tray deki simgeye tıklanıp çıkılması gerekir. bunu nasıl yapabilirim?

Cevap ;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
  1. Unit SysTray;
  2. Interface
  3. Uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,ShellApi,Menus,
  4. StdCtrls;
  5. Type
  6. TForm1 = Class(TForm)
  7. menu : TPopupMenu;
  8. menuHakkinda : TMenuItem;
  9. menuAc : TMenuItem;
  10. menuCikis : TMenuItem;
  11. AcilisNotu : TMemo;
  12. ButonTamam : TButton;
  13. ButonCik : TButton;
  14. Procedure FormCreate(Sender: TObject);
  15. Procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
  16. Procedure menuHakkindaClick(Sender: TObject);
  17. Procedure menuCikisClick(Sender: TObject);
  18. Procedure menuAcClick(Sender: TObject);
  19. Procedure FormDestroy(Sender: TObject);
  20. Procedure ButonTamamClick(Sender: TObject);
  21. Procedure ButonCikClick(Sender: TObject);
  22. Private
  23. TrayIcon : TNotifyIconData;
  24. Procedure FormuGizle(Sender: TObject);
  25. Procedure FormuGoster;
  26. Procedure MenuyuGoster;
  27. Public
  28. End;
  29. Var
  30. Form1 : TForm1;
  31. Implementation
  32. {$R *.dfm}
  33. Procedure TForm1.FormuGizle(Sender: TObject);
  34. Begin
  35. Shell_NotifyIcon(NIM_ADD,@TrayIcon); // System Tray'e yeni bir Icon ekle
  36. Form1.Visible:=False; // Formu gizle
  37. End;
  38. Procedure TForm1.MenuyuGoster;
  39. Var
  40. FareninKonumu : TPoint;
  41. Begin
  42. GetCursorPos(FareninKonumu); // Mouse'un pozisyonunu öğren
  43. menu.Popup(FareninKonumu.X,FareninKonumu.Y); // PopUp menüyü o pozisyona aç
  44. PostMessage(Self.Handle,WM_NULL,0,0); // Systeme Herhangibir Mesaj Gönderme
  45. End;
  46. Procedure TForm1.FormCreate(Sender: TObject);
  47. Begin
  48. // TrayIcon'ın parametreleri aşağıda ayarlanıyor.
  49. With TrayIcon Do
  50. Begin
  51. cbsize := SizeOf(TrayIcon);
  52. wnd := Self.Handle;
  53. hicon := Application.Icon.Handle;
  54. uID := 0;
  55. sztip := 'Mouse icon üzerindeyken görünecek mesaj.';
  56. uflags := NIF_ICON Or NIF_TIP Or NIF_MESSAGE;
  57. uCallBackMessage := WM_MOUSEMOVE;
  58. End;
  59. Application.OnMinimize:=FormuGizle; // Form minimize edilince çalışacak procedure
  60. End;
  61. Procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
  62. Begin
  63. // $201 Sol Tuş Basıldı
  64. // $202 Sol Tuş Bırakıldı
  65. // $203 Sol Tuş Çift Tıklandı
  66. // $204 Sağ Tuş Basıldı
  67. // $205 Sağ Tuş Bırakıldı
  68. // $206 Sağ Tuş Çift Tıklandı
  69. If (x=$203) Then FormuGoster
  70. Else If (x=$205) Then MenuyuGoster;
  71. End;
  72. Procedure TForm1.FormuGoster;
  73. Begin
  74. Form1.Visible:=True; // Formu göster
  75. Application.BringToFront; // Formu öne al
  76. Application.Restore; // Uygulamayı tekrar başlat
  77. Shell_NotifyIcon(NIM_DELETE,@TrayIcon); // System Tray'deki iconu sil
  78. End;
  79. Procedure TForm1.menuHakkindaClick(Sender: TObject);
  80. Begin
  81. ShowMessage('System Tary Denemesi'+#13+
  82. 'Copyright (C) 2002 Hakan HAMURCU'+#13+
  83. 'hakan@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]cu.com');
  84. End;
  85. Procedure TForm1.menuCikisClick(Sender: TObject);
  86. Begin
  87. Application.Terminate; // Uygulamayı bitir
  88. End;
  89. Procedure TForm1.FormDestroy(Sender: TObject); // Form hafızadan atıldığı zaman
  90. Begin
  91. Shell_NotifyIcon(NIM_DELETE,@TrayIcon); // System Tray'deki iconu sil
  92. End;
  93. Procedure TForm1.menuAcClick(Sender: TObject);
  94. Begin
  95. FormuGoster;
  96. End;
  97. Procedure TForm1.ButonTamamClick(Sender: TObject);
  98. Begin
  99. FormuGizle(Sender);
  100. End;
  101. Procedure TForm1.ButonCikClick(Sender: TObject);
  102. Begin
  103. Application.Terminate; // Uygulamayı bitir
  104. End;
  105. End.


__________________
Doğruları biliyorsan, yalanları dinlemek eğlencelidir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
delphide, görüntülemek, olarak, programı, system, tray, yapılan


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık