Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Box neben der Uhr erzeugen? (https://www.delphipraxis.net/143169-box-neben-der-uhr-erzeugen.html)

Schucki 11. Nov 2009 00:53


Box neben der Uhr erzeugen?
 
Hallo!

Nun habe ich ein neues Projekt begonnen und bracuhe malEure Hilfe.
Wie erstellen andere PRogramme diese kleine BOX mit einem Hinweis wie "Datei wurde heruntergeladen" im Opera.

Oder anderes Beispiel, der neue WinAmp zeigt auf Wunsch die Titel immer neben der Uhr an. In einem keinem Fenster. Skype macht sowas auch... muß also gehen nur wie :-(

Wie geht das? MEine Versuche ein Form2 mit Form2.Show führen nicht zu dem Erfolg da ein neues Fenster das immer überdecken würde.
Auch die SetWindowsPos Sache klappt nicht, das klappt nur wenn ich es im Hauptformular setze aber ein zusäzliches Fenster ist mir nicht möglich.

Vielen Dank für jeden Tip!

Frank

Norbert987 11. Nov 2009 01:59

Re: Box neben der Uhr erzeugen?
 
Hallo,

meinst du die Icons im Tray? Dann versuch doch mal CoolTrayIcon. Ist eine Komponente für Delphi, ich nutze sie mit Delphi 7, laut Readme kann man sie allerdings auch bei Delphi <5 installieren. Dort sind auch ein paar nette Demos bei :)

Viel Erfolg, Tobias

Matze 11. Nov 2009 05:47

Re: Box neben der Uhr erzeugen?
 
Ich denke nicht, dass er das TrayIcon meint, sondern dieses "Popup", was bsp. bei neuen E-Mails von einigen Programmen unten rechts erscheint (Thunderbird, Outlook, ...), von Firefox, wenn ein Download angeschlossen ist o.ä.
Hier in der DP gab's mal eine wunderschöne Demo dazu, aber ich finde sie leider nicht mehr.

Edit: Wenn du die JVCL installiert hast (Jedis), geht das über TJvDesktopAlert.

Schucki 11. Nov 2009 07:55

Re: Box neben der Uhr erzeugen?
 
@Matze

JA richtig das ist das was ich suche! :-)
Meine Anwendung läuft im Try Bereich minimiert. Das geht super nur will ich die Infos wenn es denn was zuu berichten gibt nicht mit den Ballon Tips machen sonder ein eigenes Fenster erstellen. Also ein eigenese Aussehen.

Danke für jeden weiteren Tip!

Frank

Micha88 11. Nov 2009 08:04

Re: Box neben der Uhr erzeugen?
 
Könnte das nicht eine nmormale Form sein?

Positionierung: vielleicht:

Delphi-Quellcode:
function TaskBarHeight: Integer;
var
  hTB: HWND; // taskbar handle
  TBRect: TRect; // taskbar rectangle
begin
  hTB:= FindWindow('Shell_TrayWnd', '');
  if hTB = 0 then
    Result := 0
  else begin
    GetWindowRect(hTB, TBRect);
    Result := TBRect.Bottom - TBRect.Top;
  end;
end;
Delphi-Quellcode:
// ins entsprechende Ereignis:
FormX.Left := Screen.Width + FormX.Width;
FormX.Top := Screen.Height - FormX.Height - TaskBarHeight;

Schucki 11. Nov 2009 08:29

Re: Box neben der Uhr erzeugen?
 
Na das positonieren ist nicht das Problem, klappt schon. ;-)
Nur sobald ein neues Programm aufgemacht wird, ist das sofort aufdränglich und sagt nee nee ich bin hier "OnTop".

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowPos(Handle,
               HWND_TOPMOST,
               Left,
               Top,  
               Width,
               Height,
               SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
Funktioniert NUR beim Hauptformular, das sieht man aber eigendlich nicht da es verschwunden in der taskleiste ist. Füge ich das beim Form2.OnCreate ein geht's nicht mehr, auch das HAuptformular läst sich "runterdrücken". :-(

Gruß Frank

Luckie 11. Nov 2009 08:37

Re: Box neben der Uhr erzeugen?
 
Zitat:

Zitat von MichaelLinden
Könnte das nicht eine nmormale Form sein?

Positionierung: vielleicht:

Delphi-Quellcode:
function TaskBarHeight: Integer;
var
  hTB: HWND; // taskbar handle
  TBRect: TRect; // taskbar rectangle
begin
  hTB:= FindWindow('Shell_TrayWnd', '');
  if hTB = 0 then
    Result := 0
  else begin
    GetWindowRect(hTB, TBRect);
    Result := TBRect.Bottom - TBRect.Top;
  end;
end;
Delphi-Quellcode:
// ins entsprechende Ereignis:
FormX.Left := Screen.Width + FormX.Width;
FormX.Top := Screen.Height - FormX.Height - TaskBarHeight;

Was macht dein Code, wenn die Taskleiste nicht am unterem Rand ist?

DeddyH 11. Nov 2009 09:08

Re: Box neben der Uhr erzeugen?
 
Ist doch eigentlich egal (zumindest auf Single-Monitor-Systemen), da das Fenster dort eh nicht zu sehen ist.
Zitat:

Delphi-Quellcode:
FormX.Left := Screen.Width + FormX.Width;

:zwinker:

turboPASCAL 11. Nov 2009 09:17

Re: Box neben der Uhr erzeugen?
 
Zitat:

Zitat von DeddyH
Ist doch eigentlich egal (zumindest auf Single-Monitor-Systemen), da das Fenster dort eh nicht zu sehen ist.
Zitat:

Delphi-Quellcode:
FormX.Left := Screen.Width + FormX.Width;

:zwinker:

:mrgreen:

Code:
FormX.Left := Screen.Width [color=red][b]-[/b][/color] FormX.Width;

Schucki 11. Nov 2009 15:07

Re: Box neben der Uhr erzeugen?
 
Nachdem sich nun alle ordentlich auf die Schnekel gehauen haben, würde es mich freuen wenn wir wieder auf meine Frage schwenken könnten... :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz