IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @290
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

PORFIX: Stavebný materiál

Materiál pre váš nový dom. Unikátne stavebné výrobky Porfix. www.Porfix.sk

Čerstvý a voňavý domov?

Testovali sme Ambi Pur. Pozrite sa na prekvapivé výsledky experimentu! youtube.com/AmbiPur_SK

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

Webhosting - akcia +9 mesiacov

K ročnému predplatnému až 9 mesiacov zadarmo pri prevode hostingu k nám. www.exohosting.sk

Priprav sa na futbalové EURO

Exkluzívna súťaž o Ford Fiesta! Kurzová superponuka a bonus 100€ https://www.tipsport.sk

[Delphi] Minimalizovanie do tray

Zaslať odpoveď
AutorSpráva
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Po 01.02.10 2:52Odpovedať s citátomNávrat hore

Robim v D2009 pre .NET a nedari sa mi minimalizovat aplikaciu do tray. Nasiel som nato funkcny kod ktory mi v D7 ide ale v 2009 uz nie. Mate stym skusenost? Nasiel som toho teda viac ale neslo to.
Ide mi hlavne o vytvorenie ikonky, minimalizovanie a skrytie z pruhu problem nieje.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Fico
Skúsený užívateľ
Skúsený užívateľ

Založený: 11.01.2009
Príspevky: 1052

PríspevokZaslal: Po 01.02.10 12:39Odpovedať s citátomNávrat hore

Používal si hotové komponenty, alebo si skúšal aj API funkcie? Skús aj tento kód (i keď vravíš, že si skúšal už viac spôsobov, skús ešte tento):
kód:

uses
  (* ... *), ShellAPI;

type
  TForm1 = class(TForm)
//...
    procedure WndProc(var Message: TMessage); override;  // toto pripíš medzi ostatné funkcie
  private
    IconNotifyData : TNotifyIconData;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WndProc(var Message: TMessage);
begin

case Message.Msg of
  WM_SYSCOMMAND:   case Message.WParam and $FFF0 of
                     SC_MINIMIZE: begin
                                 Hide;
                                 Exit;
                                 end;
                     SC_RESTORE: ;
                     end;
  WM_USER + 1:    if (Message.LParam = WM_LBUTTONDOWN) then Show;
end;

inherited;

end;


procedure TForm1.FormCreate(Sender: TObject);
begin

  with IconNotifyData do begin
   hIcon := Application.Icon.Handle;
   uCallbackMessage := WM_USER + 1;
   cbSize := sizeof(IconNotifyData);
   Wnd := Handle;
   uID := 100;
   uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
  end;

  StrPCopy(IconNotifyData.szTip, Application.Title);
  Shell_NotifyIcon(NIM_ADD, @IconNotifyData);
  Application.ShowMainForm := False;
  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);

end;
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Po 01.02.10 13:15Odpovedať s citátomNávrat hore

kód:
[DCC Error] Unit1.pas(58): E2003 Undeclared identifier: 'StrPCopy'


ShellAPI som samozrejme pripojil
Zobraziť informácie o autoroviOdoslať súkromnú správu
Fico
Skúsený užívateľ
Skúsený užívateľ

Založený: 11.01.2009
Príspevky: 1052

PríspevokZaslal: Po 01.02.10 13:24Odpovedať s citátomNávrat hore

Funkcia StrPCopy sa nachádza v unite SysUtils.

// túto funkciu aj tak môžeš vynechať, tá len skopíruje názov aplikácie to popisku tray ikony
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Po 01.02.10 13:45Odpovedať s citátomNávrat hore

kód:
//StrPCopy(IconNotifyData.szTip, Application.Title);
//Shell_NotifyIcon(NIM_ADD, @IconNotifyData);


musel som to takto, ale kvoli tomu druhemu komentu asi nemam ikonu dole ze

A naten 2. riadok to pise toto
kód:
[DCC Error] Unit1.pas(59): E2396 Unsafe code only allowed in unsafe procedure
Zobraziť informácie o autoroviOdoslať súkromnú správu
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Po 01.02.10 15:21Odpovedať s citátomNávrat hore

nasiel som toto, ale neviem sa ztoho vysomarit
http://www.swissdelphicenter.ch/torry/showcode.php?id=1303
Zobraziť informácie o autoroviOdoslať súkromnú správu
Fico
Skúsený užívateľ
Skúsený užívateľ

Založený: 11.01.2009
Príspevky: 1052

PríspevokZaslal: Po 01.02.10 16:53Odpovedať s citátomNávrat hore

ha2 napísal:
A na ten 2. riadok to pise toto
kód:
[DCC Error] Unit1.pas(59): E2396 Unsafe code only allowed in unsafe procedure

Sem sa rieši, ako kompilovať pre .NET , ale s tým ja nemám skúsenosti.
ha2 napísal:
nasiel som toto, ale neviem sa ztoho vysomarit
kód:
http://www.swissdelphicenter.ch/torry/showcode.php?id=1303

V tom príklade je toho strašne veľa nepodstatného - v mojom poste som sa snažil dať len dôležité veci (to okomentovanie posledného riadku ti nepomôže, lebo ako si napísal, nebudeš mať dolu ikonu )
Zobraziť informácie o autoroviOdoslať súkromnú správuICQ
ha2
Užívateľ
Užívateľ

Založený: 21.12.2008
Príspevky: 114

PríspevokZaslal: Po 01.02.10 23:47Odpovedať s citátomNávrat hore

D2009 ma komponentu TrayIcon. co viac dodat...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd