Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Как свернуть программу в значок около часов???   Найти похожие ветки 

 
SigalX   (2004-06-04 12:51) [0]

Скажите пожалуйста, как свернуть форму в значок, который находится около часов; по-моему он называется Трей...


 
Семен Сорокин ©   (2004-06-04 12:52) [1]

любимый вопрос :)))


 
YurikGL ©   (2004-06-04 12:55) [2]


> свернуть форму


это называется запуздырить


 
Плохиш   (2004-06-04 12:58) [3]

> это называется запуздырить туда, где часики :-))


 
Романов Р.В. ©   (2004-06-04 12:58) [4]

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=903


 
Iraizor ©   (2004-06-04 17:04) [5]

любимый вопрос :)))
ага, из разряда как скрыть процесс от таск манагера =)
а по теме : ответ лежит в факе


 
grom   (2004-06-05 14:34) [6]

http://www.zdima-iv.nm.ru/delphi.html  
icon


 
Anatoly Podgoretsky ©   (2004-06-05 14:48) [7]

Данный вопрос завоевал 13 премий Оскара


 
Profi ©   (2004-06-05 19:59) [8]

Чего над человекам издеваться?

Скачай CoolTrayIcon компонента такая и юзай!


 
parovoZZ ©   (2004-06-05 20:10) [9]

Примерно так:
uses
 Windows,
 Messages,
 CommDlg,
 ShellApi;

var
 TrayIcon     : TNotifyIconData;
.........

function AddTrayIcon (Window : THandle): Boolean;
begin
  TrayIcon.cbSize := SizeOf (TrayIcon);
  TrayIcon.Wnd := Window;
  TrayIcon.uID := 100;
  TrayIcon.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
  TrayIcon.uCallbackMessage := WM_MYTRAYMSG;
  TrayIcon.hIcon := LoadIcon (hInstance, "MYHEARTS");
  TrayIcon.szTip := "Подсказка";
  TrayEnabled := Shell_NotifyIcon (NIM_ADD, @TrayIcon);
  Result := TrayEnabled;

end;

Procedure ModifyTrayIcon;
begin
 TrayIcon.hIcon := LoadIcon (hInstance, "MYHEART");
 Shell_NotifyIcon (NIM_MODIFY, @TrayIcon);
end;

Procedure ReTrayIcon;
begin
 TrayIcon.hIcon := LoadIcon (hInstance, "MYHEARTS");
 Shell_NotifyIcon (NIM_MODIFY, @TrayIcon);
end;

procedure DeleteTrayIcon;
begin
 If TrayEnabled then Shell_NotifyIcon (NIM_DELETE,@TrayIcon);
end;


 
Kostya   (2004-06-05 21:22) [10]

ИЛИ ТАК МОЖНО:

unit shellUnit;

interface

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

const
WM_MYICONNOTIFY = WM_USER + 123;

type
 TForm1 = class(TForm)
   PopupMenu1: TPopupMenu;
   RestoreItem: TMenuItem;
   N1: TMenuItem;
   FileExitItem1: TMenuItem;
   HideItem: TMenuItem;
   procedure FormCreate(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure RestoreItemClick(Sender: TObject);
   procedure HideItemClick(Sender: TObject);
   procedure FileExitItem1Click(Sender: TObject);
 private
   { Private declarations }
   ShownOnce: Boolean;
 public
   { Public declarations }
   procedure WMICON(var msg: TMessage); message WM_MYICONNOTIFY;
   procedure WMSYSCOMMAND(var msg: TMessage);message WM_SYSCOMMAND;
   procedure RestoreMainForm;
   procedure HideMainForm;
   procedure CreateTrayIcon(n:Integer);
   procedure DeleteTrayIcon(n:Integer);
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}
uses ComObj,  activex, ShellApi, shlobj, registry;

procedure TForm1.WMICON(var msg: TMessage);
var P : TPoint;
begin
case msg.LParam of
WM_LBUTTONDOWN:
 begin
  GetCursorPos(p);
  SetForegroundWindow(Application.MainForm.Handle);
  PopupMenu1.Popup(P.X, P.Y);
 end;
WM_LBUTTONDBLCLK : RestoreItemClick(Self);
end;
end;

procedure TForm1.WMSYSCOMMAND(var msg: TMessage);
begin
inherited;
if (Msg.wParam=SC_MINIMIZE) then HideItemClick(Self);
end;

procedure TForm1.HideMainForm;
begin
 Application.ShowMainForm := False;
 ShowWindow(Application.Handle, SW_HIDE);
 ShowWindow(Application.MainForm.Handle, SW_HIDE);
end;

procedure TForm1.RestoreMainForm;
var i,j : Integer;
begin
 Application.ShowMainForm := True;
 ShowWindow(Application.Handle, SW_RESTORE);
 ShowWindow(Application.MainForm.Handle, SW_RESTORE);
 if not ShownOnce then
 begin
   for I := 0 to Application.MainForm.ComponentCount -1 do
     if Application.MainForm.Components[I] is TWinControl then
       with Application.MainForm.Components[I] as TWinControl do
         if Visible then
         begin
           ShowWindow(Handle, SW_SHOWDEFAULT);
           for J := 0 to ComponentCount -1 do
             if Components[J] is TWinControl then
               ShowWindow((Components[J] as TWinControl).Handle, SW_SHOWDEFAULT);
         end;
   ShownOnce := True;
 end;

end;

procedure TForm1.CreateTrayIcon(n:Integer);
var nidata : TNotifyIconData;
begin
with nidata do
 begin
  cbSize := SizeOf(TNotifyIconData);
  Wnd := Self.Handle;
  uID := 1;
  uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
  uCallBackMessage := WM_MYICONNOTIFY;
  hIcon := Application.Icon.Handle;
  StrPCopy(szTip,Application.Title);
 end;
 Shell_NotifyIcon(NIM_ADD, @nidata);
end;

procedure TForm1.DeleteTrayIcon(n:Integer);
var nidata : TNotifyIconData;
begin
with nidata do
 begin
  cbSize := SizeOf(TNotifyIconData);
  Wnd := Self.Handle;
  uID := 1;
 end;
 Shell_NotifyIcon(NIM_DELETE, @nidata);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ShownOnce:= False;
CreateTrayIcon(1);
HideItem.Enabled := False;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteTrayIcon(1);
end;

procedure TForm1.RestoreItemClick(Sender: TObject);
begin
RestoreMainForm;
DeleteTrayIcon(1);
RestoreItem.Enabled := False;
HideItem.Enabled := True;
end;

procedure TForm1.HideItemClick(Sender: TObject);
begin
HideMainForm;
CreateTrayIcon(1);
HideItem.Enabled := False;
RestoreItem.Enabled := True;
end;

procedure TForm1.FileExitItem1Click(Sender: TObject);
begin
Close;
end;

end.

В форме создаешь PopupMenu1 с элементами Restore, Hide и Exit.
Усё!


 
Kostya   (2004-06-05 21:29) [11]

Вот тебе полноценный пример. И скрываешь, и разворачиваешь, и закрываешь.



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
1-1089083542
SPeller
2004-07-06 07:12
2004.07.18
Class Functions


1-1089019138
Riland
2004-07-05 13:18
2004.07.18
Grid - как Excel


14-1088395865
ИМХО
2004-06-28 08:11
2004.07.18
Еще раз о спаммерах


3-1087464293
kalishenko
2004-06-17 13:24
2004.07.18
Поле типа float фикс. размера (12,2).


1-1088819011
antonn
2004-07-03 05:43
2004.07.18
ListBox