私はTTrayIconのキャンバスに描画しようとしていますが、成功しません。 私は窓の私がこれまで試したことはある10TTrayIconで描画する方法
上ラザロV1.6.2を使用したプログラミングよ:
procedure TForm1.TrayIcon1Paint(Sender: TObject);
var
tmpcanvas: TCanvas;
begin
tmpcanvas := TrayIcon1.Canvas;
tmpcanvas := TrayIcon1.Icon.Canvas; // also not working
tmpcanvas.Font.Size := 22;
tmpcanvas.Brush.Color := RGBToColor(255,255,255);
tmpcanvas.FillRect(1,1,200,200);
tmpcanvas.Font.Color := RGBToColor(0,0,0);
tmpcanvas.TextOut(1,1, 'TEST');
end;
私はForm1.CanvasでイベントForm1.OnPaintにし、そこにこのコードを試してみました期待どおりに動作します。
しかし、私はTTrayIcon.Canvasでペインティングすることはできません。 TTrayIconのキャンバス上の描画は他のキャンバス上の描画と異なります...
一部のデバッグの後、TTrayIcon.OnPaintイベントはトリガーされません。しかし、TrayIcon1Paint(..)を強制実行しても何も起こりません。
今私はアイデアがありません。どんな助けも高く評価されます。
システムはこのように動作しません。別のアイコンが必要な場合は、別のアイコンを指定する必要があります。基礎となるシステムは、ペイントメッセージに基づいていません。 –
私はシステムトレイに動的な情報を表示したい。私はそれが "ウィンドウ時間"も "動的"なので、うまくいくはずだと思った。 –
Windows時間は通知アイコンではなく、シェルによって描画される。それは何でも満足しています。あなたはAPIに適合しなければなりません。そしてそれはアイコンを求めます。リッチダイナミックUIの場合、通知アイコンは表示されません。 –