IconData.szTip < Variabel wie ?
Hey, habe mir nun das Tutorial angeguckt. Jetzt habe ich eine Variabel .. diese heißt "X" (string) und möchte diese integrieren. Wenn man übers Icon geht, dass sie ausgelsen wird. Aber irgendwie geht folgendes nicht:
Code:
aber das Komische, wenn ich folgendes mache gehts:
IconData.szTip := X
Code:
Label1.Caption := X
Also mit der Variabel ist alles Okay. Kann mir jemand helfen ? Danke im Vorraus !! Gr33tZ! Tigerhead |
Re: IconData.szTip < Variabel wie ?
Zitat:
|
Re: IconData.szTip < Variabel wie ?
Wenn man über das Icon rechts unten geht, dann kommt nicht die Schrift aus der Variabel X ... sorry, bin ein ganz schlechter Erklärer :( Hoffe du verstehst was ich mein ;)
|
Re: IconData.szTip < Variabel wie ?
Caste den String mal nach PChar.
|
Re: IconData.szTip < Variabel wie ?
Hoi
Ich habe das einmal so hingewürgt:
Delphi-Quellcode:
Gruss
var
S: string begin S:= X + #0; Move(S[1], IconData.szTip, Length(S)); end; Shaman |
Re: IconData.szTip < Variabel wie ?
@ Lucke: Wie kann ich das machen ? Meinste anstatt "X:string" schreiben "X:PChar" oder "X:Char" oder ? oder irgendwas mit "inttochar(X)" oder so ? Sorry aber hatte eine größere Delphipause und programmiere noch nicht so wirklich gut !
@ Shaman: Deine Methode weist zwar keinen Fehler bei mir auf doch leider zeigt er auch die Schrift nicht an. |
Re: IconData.szTip < Variabel wie ?
Wahrscheinlich meint Luckie
Delphi-Quellcode:
IconData.szTip := PChar (X);
|
Re: IconData.szTip < Variabel wie ?
@Tigerhead: Und die Flags hast du auch richtig gesetzt?
Delphi-Quellcode:
NIF_MESSAGE or NIF_ICON or NIF_TIP
|
Re: IconData.szTip < Variabel wie ?
Hier mal der Code vom ganzen, habe viel probiert aber bis jetzt keine Lösung .. :(
Code:
Grüße!
unit mUptime;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI, Menus, StdCtrls, ExtCtrls; type TForm1 = class(TForm) PopupMenu1: TPopupMenu; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } IconData: TNotifyIconData; public { Public declarations } procedure WndProc(var Msg: TMessage); override; procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND; end; var Form1: TForm1; implementation {$R *.dfm} function UpTime: string; // Uptime const ticksperday: Integer = 1000 * 60 * 60 * 24; ticksperhour: Integer = 1000 * 60 * 60; ticksperminute: Integer = 1000 * 60; tickspersecond: Integer = 1000; var t: Longword; d, h, m, s: Integer; begin t := GetTickCount; d := t div ticksperday; Dec(t, d * ticksperday); h := t div ticksperhour; Dec(t, h * ticksperhour); m := t div ticksperminute; Dec(t, m * ticksperminute); s := t div tickspersecond; Result := 'Läuft seit: ' + IntToStr(d) + ' Tag(e) ' + IntToStr(h) + ' Stunden ' + IntToStr(m) + ' Minuten ' + IntToStr(s) + ' Sekunden'; end; procedure TForm1.WndProc(var Msg: TMessage); var Point: TPoint; begin if Msg.Msg = WM_USER + 20 then begin case Msg.lParam of WM_RBUTTONDOWN: begin SetForegroundWindow(Handle); GetCursorPos(Point); PopUpMenu1.PopUp(Point.X, Point.Y); end; WM_LBUTTONDOWN: begin //ShowMessage('links runter'); end; WM_LBUTTONDBLCLK: begin Form1.Show; // Icon nur anzeigen wenn Fenster minimiert Shell_NotifyIcon(NIM_DELETE, @IconData); end; end; end; inherited; end; procedure TForm1.WMSysCommand(var Message: TWMSysCommand); begin if Message.CmdType and $FFF0 = SC_MINIMIZE then begin Hide; // Icon nur anzeigen wenn Fenster minimiert Shell_NotifyIcon(NIM_ADD, @IconData); end else inherited; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.ShowMainForm := False; //Programm gar nicht erst anzeigen IconData.cbSize := SizeOf(IconData); IconData.Wnd := Handle; IconData.uID := 100; IconData.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP; IconData.uCallBackMessage := WM_USER + 20; IconData.hIcon := Application.Icon.Handle; IconData.szTip := PChar(UpTime); //Geht nicht label1.caption := PChar(UpTime); //Funktioniert Wunderbar Shell_NotifyIcon(NIM_ADD, @IconData); // fügt das Icon ein end; end; procedure TForm1.FormDestroy(Sender: TObject); begin Shell_NotifyIcon(NIM_DELETE, @IconData); end; end. Tigerhead |
Re: IconData.szTip < Variabel wie ?
Verknüpf die Flags mal besser mit or.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 Uhr. |
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