mboost-dp1
Spørgsmål til WPF og spørgsmål til Forms NotifyIcon
- Forside
- ⟨
- Forum
- ⟨
- Programmering
1. Nu er jeg endelig gået igang i WPF, men jeg kan ikke finde ud af at skifte ikonet på programmet.
I en Forms applikation brugte jeg bare:
Findes der ikke nogen simpel måde i WPF?
2. Jeg har brug for at skrive noget tekst på et ikon i tray-området (class sakset herfra), men bruger jeg:
så ser teksten utrolig træls ud.
SpeedFan og BatteryCare klarer det noget bedre.
I en Forms applikation brugte jeg bare:
Me.Icon = My.Resources.Name_Of_Icon
Findes der ikke nogen simpel måde i WPF?
2. Jeg har brug for at skrive noget tekst på et ikon i tray-området (class sakset herfra), men bruger jeg:
g.Clear(Color.Transparent)
så ser teksten utrolig træls ud.
SpeedFan og BatteryCare klarer det noget bedre.
Jo. http://msdn.microsoft.com/en-us/library/system.win...pewbe (1) skrev:Findes der ikke nogen simpel måde i WPF?
Altså noget i stil med dette her ?pewbe (1) skrev:Jeg har brug for at skrive noget tekst på et ikon i tray-området
Update til spørgsmål 2:
Så vidt jeg kan se er problemet antialias rendering, og valget af font.
Men jeg synes at følgende er læsbart på min skærm:
Med resultatet: notifytraytext.png
Så vidt jeg kan se er problemet antialias rendering, og valget af font.
Men jeg synes at følgende er læsbart på min skærm:
using WinForms = System.Windows.Forms;
using Drawing = System.Drawing;
...
var notifyIcon = new WinForms.NotifyIcon();
var notifyFont = new Drawing.Font("Microsoft Sans Serif", 6,
Drawing.FontStyle.Regular, Drawing.GraphicsUnit.Point);
var notifyBrush = new Drawing.SolidBrush(Drawing.Color.White);
var notifyBitmap = new Drawing.Bitmap(16, 16);
using (var g = Drawing.Graphics.FromImage(notifyBitmap))
{
g.CompositingQuality = Drawing.Drawing2D.CompositingQuality.HighSpeed;
g.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighSpeed;
g.DrawString("98%", notifyFont, notifyBrush, 0, 0);
g.DrawString("1:38", notifyFont, notifyBrush, 0, 9);
notifyIcon.Icon = Drawing.Icon.FromHandle(notifyBitmap.GetHicon());
}
notifyIcon.Visible = true;
Med resultatet: notifytraytext.png
Windcape (3) skrev:Update til spørgsmål 2:
Med resultatet: notifytraytext.png
Hvordan ser det ud over en hvid baggrund?
Windcape (5) skrev:Usynligt går jeg ud fra. Da jeg har brugt en hvid tekst...
Selvfølgelig, my bad XD
Men jeg tror faktisk jeg holder mig til sort baggrund, da det så ikke betyder noget hvilken farve baggrunden på skrivebordet er.
Windcape (2) skrev:Jo. http://msdn.microsoft.com/en-us/library/system.win...
Jeg kan ikke rigtig greje hvordan jeg gør det?
Vil du give et eksempel?
(Fx har jeg "Ikon1" i Resources)
#6
Der er et eksempel i linket. Hvilken del af det vil du gerne have forklaret?
Læs evt. http://msdn.microsoft.com/en-us/library/aa970069.a... for at forstå pack URIs bedre.
Der er et eksempel i linket. Hvilken del af det vil du gerne have forklaret?
Læs evt. http://msdn.microsoft.com/en-us/library/aa970069.a... for at forstå pack URIs bedre.
// Set an icon using code
Uri iconUri = new Uri("pack://application:,,,/WPFIcon2.ico", UriKind.RelativeOrAbsolute);
this.Icon = BitmapFrame.Create(iconUri);
Jeg har endelig fået det til at virke med hjælp herfra.
#8
Den kode jeg postede i #7 fra det oprindelige link, virker ellers fint hos mig! Din fejl har sikkert været at du har brugt en forkert pack URI.
Her er mit eksempelprojekt: http://dl.dropbox.com/u/1744224/Upload/WpfApplicat...
Dit link til MSDN Forums er også outdated!
Den kode jeg postede i #7 fra det oprindelige link, virker ellers fint hos mig! Din fejl har sikkert været at du har brugt en forkert pack URI.
Her er mit eksempelprojekt: http://dl.dropbox.com/u/1744224/Upload/WpfApplicat...
Dit link til MSDN Forums er også outdated!
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.