ich CoolTrayIcon Komponente verwenden, aber ich kann es durch hand.What modifizieren ich erreichen will ist, den Text in dem Ballon zu aktualisieren Ich habe gerade, ohne eine andere balloon.Problem tatsächlich zu schaffen ist:Wie aktualisiert man den Text in einer Tray-Icon-Sprechblase von Hand?
function TCoolTrayIcon.ShowBalloonHint(Title: String; Text: String;
IconType: TBalloonHintIcon; TimeoutSecs: TBalloonHintTimeOut): Boolean;
// Show balloon hint. Return false if error.
const
aBalloonIconTypes: array[TBalloonHintIcon] of Byte =
(NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR);
begin
// Remove old balloon hint
HideBalloonHint;
// Display new balloon hint
with IconData do
begin
uFlags := uFlags or NIF_INFO;
StrLCopy(szInfo, PChar(Text), SizeOf(szInfo)-1);
StrLCopy(szInfoTitle, PChar(Title), SizeOf(szInfoTitle)-1);
TimeoutOrVersion.uTimeout := TimeoutSecs * 1000;
dwInfoFlags := aBalloonIconTypes[IconType];
end;
Result := ModifyIcon;
{ Remove NIF_INFO before next call to ModifyIcon (or the balloon hint will
redisplay itself) }
with IconData do
uFlags := NIF_ICON + NIF_MESSAGE + NIF_TIP;
end;
function TCoolTrayIcon.HideBalloonHint: Boolean;
// Hide balloon hint. Return false if error.
begin
with IconData do
begin
uFlags := uFlags or NIF_INFO;
StrPCopy(szInfo, '');
end;
Result := ModifyIcon;
end;
function TCoolTrayIcon.ModifyIcon: Boolean;
// Change icon or tooltip if icon already placed
begin
Result := False;
if InitIcon then
Result := Shell_NotifyIcon(NIM_MODIFY, @IconData);
end;
dachte ich, die Problem ist in der Funktion HideBalloonHint, aber ich war falsch.Ich habe den Aufruf von HideBalloonHint bei ShowBalloonHint in anderen kommentiert, um den Text zu aktualisieren, aber es hat nicht funktioniert.
Frage: Wie wird nur der Text im Trayballon aktualisiert, ohne einen weiteren Ballon zu erstellen?
Es schafft immer noch zwei Ballons. –