Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von visionmaster
Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

@Abt: Ja - das wird sich nicht vermeiden lassen.
Auch die Win-Systemfunktionen geben zu W10 andere Rückgabewerte. So sind z.B. teils Größen falsch (doppelt oder halb so groß, wie real. Mal so, mal so).
Probieren wir eben weiter...

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Es wird zum unendlichen Problem:
Ich weiß ja nicht, ob schon jemand Erfahrungen mit W11 hat...
Die zuvor diskutierte Lösung funktioniert unter W10 perfekt.
Unter W11 allerdings ist das Window zu sehen, ob nicht ansprechbar. Es reagiert auf keinen Mausklick.
Gibt es da ggf. auch einen Tipp?
Ich habe schon x Versuche gemacht, aber es gelingt nicht, das Window wieder zum Leben zu erwecken.

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Ich will es ja nicht verkaufen

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

@Stefan.Haegele: Ganz einfach - ich ersetze und erweitere wesentliche Funktionen der Taskbar (speziell in Hinblick auf W11).

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Ich muss wohl erstmal ein wenig schlafen gehen - es funktioniert ja doch, hatte den x-Wert dummerweise als zweiten parameter eingegeben. Er ist natürlich der dritte.
Mit SetWindowPos(hWindow, 0, (int)this.Left, 0, (int)this.Width, (int)this.Height, SWP_NOZORDER | SWP_SHOWWINDOW); ist jetzt alles OK.
Noch mal sorry und vielen Dank!

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Ohne SetWindowsPos geht es nicht (Window ist unsichtbar).
Ich nutze die Parameter: SetWindowPos(hWindow, 0, 0, 0, (int)this.Width, (int)this.Height, SWP_NOZORDER | SWP_SHOWWINDOW);
Damit geht es - aber eben immer vorn links. Ändern des x-Werts auf z.B. 200 statt 0 bringt keinen Effekt. Zusätzlich SWP_NOMOVE lässt das Window wieder unsichtbar werden.
Das ist alles schon komisch;-)

@dannoe: Das ist ein interessanter Beitrag. Speziell der weiterführende Link Window z-order in Windows 10 – ADeltaX Blog
Ich hatte nicht gedacht, dass Z-Order so kompliziert ist) - ich bin noch beim lesen...

Ich werde mal einen workarround versuchen. Werde das Fenster im linken Teil einfach transparent machen.

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Th69: Noch eine letzte Frage. Jetzt schiebt er mein Window aber immer gnadenlos an das linke Ende der Taskbar. Da hilft auch kein Eintrag in SetWindowsPos. Kennst Du da eine Lösung - also quasi relatives Verschieben zur Taskbar?

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Th69: Sorry - ich habs!
SetWindowPos gesetzt - und schon funktioniert alles
Nochmal vielen Dank - jetzt hab ich die Lösung.

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Nein. Was sollte ich da wie anpassen?

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

@Th69:
Nochmal vielen Dank für Deine Mühe!
Also: "So soll es sein" zeigt, wie sich das Window darstellt, wenn ich es starte und über der Taskbar positioniere. Da funktioniert alles wie gewünscht.
"So ist es" zeigt das Window, sobald ich die Taskbar selbst benutzt habe - dann verschwindet mein Window hinter der Taskbar. Und genau das möchte ich vermeiden!
Topmost ist gesetzt, hilft aber in diesem Fall leider nichts. Andere Einstellungen, die m.E. relevant sein könnten, sind nicht gesetzt. Einen Rahmen hat das Window nicht.

hWindow hatte ich wirklich zu früh abgefragt. Ich habe den teil nach "hinten" geschoben. Jetzt kommt ein Wert und die Funktionen laufen auch sauber durch.
Allerdings ist der Effekt nun, dass das Window komplett unsichtbar wird. Das ist natürlich auch nicht hilfreich. Kann man das (nun als Kind der Taskbar) wieder sichtbar machen? Ich werde mal ein wenig experimentieren. Oder hättest Du da noch einen Vorschlag?

Viele Grüße und Dank!

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

@Abt: Nein, es soll kein kiosk-Modus sein.

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

@TH69:
Vielen Dank für die ausführliche Antwort.
Die Taskbar ist nicht aus-/einblendbar. Ein Window kann man aber problemlos drüberlegen - ich habe mal zwei Bilder angefügt.
Leider funktioniert sie nicht.
Eigentlich war die Idee, das Window als Child der Taskbar zu definieren, die Beste. Denn wenn die Taskbar nicht sichtbar ist, dann brauche ich das Fenster nicht unbedingt.
Aber es tuts nicht.
Habe die drei Zeilen so genutzt:
IntPtr hWindow = new WindowInteropHelper(this).Handle;
IntPtr hTaskbar = FindWindow("Shell_TrayWnd", "");
SetParent(hWindow, hTaskbar);
Eine Frage dazu: Ist es normal, dass IntPtr hWindow = new WindowInteropHelper(this).Handle; hWindow auf 0#00000000 setzt?
Die Links muss ich noch genauer ansehen.

Thema: WPF-Window immer über(!) der Taskbar
Am im Forum: GUI: WPF und XAML

Hallo zusammen,

hat jemand zu folgendem Problem eine Idee:
Ich habe ein WPF-Window (nicht-maximiert). Dieses positioniere ich über der Taskbar. Sobald ich jedoch die Taskbar nutze, wird diese über mein Fenster gesetzt.
Genau das möchte ich vermeiden.
Da hilft auch (z.B.) kein Topmost.
Grund ist, dass das betreffende Fenster sehr klein ist und im Normalfall genau über der Taskbar posiitoniert wird - d.h. es verschwindet einfach, wenn die Taskbar genutzt wird.
Hat da evtl. jemand eine Lösungsidee?

Thema: Wo finde ich den Namespace "Windows.Media.FaceAnalysis"
Am im Forum: Grafik und Sound

Vielen Dank für den Tipp.
Die Lösung war eine andere:
Die Windows.winmd im Release 10.0.19041.0 enthält den Namespace nicht.
Ich habe es dann mal mit der Version 10.0.18362.0 versucht. Und dort ist alles OK.
Keine Ahnung warum ...

Gruß
Ralph

Thema: Wo finde ich den Namespace "Windows.Media.FaceAnalysis"
Am im Forum: Grafik und Sound

Ich möchte in Bildern eine Gesichtserkennung programmieren.
Alle benötigten Namespaces sind verfügbar - außer FaceAnalysis.
Der müsste unter Windows.Media liegen. Da ist er bei mir jedoch nicht.
Hat da jemand einen Tipp?

Danke, Ralph

Thema: Listview - Item löschen, dann falsche Zeile selektiert
Am im Forum: GUI: WPF und XAML

@Th69: Das war es. Jetzt funktioniert alles perfekt.
Da wäre ich echt niemals drauf gekommen!
Ganz vielen Dank für die schnelle Hilfe.
Viele Grüße!

Thema: Listview - Item löschen, dann falsche Zeile selektiert
Am im Forum: GUI: WPF und XAML

Ich habe folgendes Problem:
Ich lösche in einer ListView bei Betätigung eines keys (implementiert im _PreviewKeyDown-Event der ListView) eine Zeile mit <listview>.Items.Remove(<listview>.SelectedItem)
Das funktioniert auch problemlos. Allerdings ist anschließend immer der erste Eintrag in der ListView selektiert (nicht, wie gewünscht der Folgeeintrag).
Setze ich den auf das gelöschte Element folgenden Eintrag als selektiertes Element mit
<listview>.SelectedItem = <folgeeintrag>
so hat das keinerlei Wirkung, wenn ich dies in der gleichen Routine tue.

Nehme ich den .SelectedItem-Befehl in ein anderes event (z.B. das _KeyUp-Event der ListView) oder auf einen Button dann funktioniert es.
Allerdings sieht man dann einen Rahmen um das erste Element der ListView und wenn man z.B. den Down-Button betätigt um auf dei nächste Zeile zu springen, so springt er dann auf Zeile 2.
Setze ich anschließend jedesmal die selektierte Zeile selbst richtig, so sieht man, wie quasi zwei Zeilen selektiert sind (die eine mit Rahmen, die andere, von mir gesetzte).

Ich weiß, das klingt recht verworren.
Was ist hier los? Was mache ich falsch bzw. wie muss ich es richtig machen?
hat jemand eine Idee?

Thema: Wie kann ich einen Parameter an einen Task übergeben?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Guten Morgen.
ich vermute, dass es jetzt sehr kritische Antworten geben wird - so in der Art "Google doch bitte erstmal..." - aber ich versichere, dass ich das alles schon gemacht habe.
Ich versuche mich ggw. etwas an der parallelen Arbeit mittels Tasks. Dabei suche ich händeringend nach einem möglichst einfachen(!!) Beispiel, wie ich eine Task starten kann, der einen Parameter mitgebe und die einen solchen zurückgibt. Beispiele gibt es viele. Aber alle sind für meine wohl triviale Anwednung für mich nicht adaptierbar. Geht sowas auch ohne Lamda-Ausdrücke? Wenn nicht, wie muss ich das schreiben?
Ich bekomme es einfach nicht hin;-(

Was passieren soll:

private string BeispielMethode (string name) { return name + "123";}
Task<string> T1 = Task<string>.Factory.StartNew( ???  BeispielMethode("Otto") ????);
string txt = T1.Result;

Was bitte muss ich richtig "StartNew" übergeben?
Falls mir hier jemand helfen würde, wäre ich sehr dankbar.

Thema: Bildschirmkoordinaten einer Shape
Am im Forum: Office-Technologien

Vielen Dank für die Tipps.
Ich konnte nach fast endlosem probieren das Problem jetzt lösen.
Sollte jemand das gleiche Problem haben, dann bitte kurz melden. Ich geb die Lösung gern weiter.

Thema: Bildschirmkoordinaten einer Shape
Am im Forum: Office-Technologien

Ich muss ein normales WPF-Window exakt über einer Shape in einer Powerpointpräsentation platzieren.
Dabei kann man Posiition und Größe der Shape im Slide ermitteln (Top, Left, Height, Width). Außerdem kann auf gleiche Weise die Größe des Slide, als auch z.B. die des SlideShowWindow ermittelt werden.
Leider passt nichts zusammen.
Auf einem HD-Bildschirm (1920x1080) wird für die Größe des Slideshowwindow 1440x810 und für das Slide 960x540 zurückgegeben.
Ich kann mir aus den Angaben keinen "Schuh" machen.
Was sollen die Angaben des Slideshowwindow's?
Ich brauche dessen Angaben aber, um die Lage der Präsentation zu ermitteln.

Hat jemand schon mal sowas gemacht und hat ggf. einen Tip?

Gruß!

Thema: Gyration AirMouse: Sondertasten erkennen/auswerten
Am im Forum: Rund um die Programmierung

Vielleicht kennt jemand von Euch die Gyration Air-Mouse. Mit dieser kann man auf elegante Weise z.B. Präsentationen steuern.
Um die Sondertasten der Maus zu belegen und auszuwerten gibt es eine zugehörige Software (Motiontools).
Nun möchte ich mit dieser Maus gern meine eigene Applikation steuern. Aber mir gelingt es einfacgh nicht, die Sondertasten der Maus auszuwerten.
Hat das schon mal jemand von Euch gemacht? Wie sollte man vorgehen?

Schon mal vielen Dank für die (hoffentlich) Hilfe.

Thema: InkCanvas zu Shapes überreden
Am im Forum: GUI: WPF und XAML

Naja, das ist mir schon klar. Und danke für Deine Hilfsbereitschaft!
Aber ich kann eben gerade nicht nachvollziehen (obwohl wir beide ggf. nichts dran ändern können), wieso es keine Unterstützung dafür gibt, eine ggf. recht aufwendig erstellte Grafik auf die "dumme" Pixelgrafik der Stroke zu rendern. Nach diesem Rendern benötige ich die Semantik doch auch gar nicht mehr.
Als nächstes hätte ich z.B. gern gestrichelte Linien oder eine Bitmap. Beide möchte ich dann (nach dem "rendern") mit den gleichen Werkzeugen bearbeiten, wie die Freihandzeichnung. Aber das alles "per Hand" zu überführen ???!!!
Oder ist die InkCanvas der falsche Container?

Thema: InkCanvas zu Shapes überreden
Am im Forum: GUI: WPF und XAML

Klar kann ich den Kreis selbst approximieren und die Punkte des Umfangs berechnen (bin als Krücke gerade dabei es so zu machen).
Aber ist das wirklich erforderlich - ich kanns einfach nicht glauben. Gibt es wirklich keine Möglichkeit Geometrie-Objekte in einen Stroke zu überführen?

Thema: InkCanvas zu Shapes überreden
Am im Forum: GUI: WPF und XAML

vielen Dank für die Antwort.
Aber: Muss ich verstehen, was Du meinst? Was meinst Du mit "selber malen".
Ich möchte es aber mit Code tun. ... damit es auch ein Kreis wird.

Thema: InkCanvas zu Shapes überreden
Am im Forum: GUI: WPF und XAML

Ich muss diesen alten thread nochmal aufnehmen.
Ich stehe vor exakt der gleichen problematik. Leider gibt es hier bisher keinen brauchbaren Tipp.
Hat in der Zwischenzeit noch irgendjemand einen Tipp, wie man z.B. eine simple Ellipse dem InkCanvas-Stroke hinzufügen kann?
(Children.Add ist keine Lösung, da später nicht mit den Hausmitteln von InkCanvas bearbeitbar).

Vielen Dank im Voraus.

Thema: Form soll temporär keine Events empfangen
Am im Forum: GUI: WPF und XAML

Vielen Dank!
Das Problem ist damit gelöst.

Thema: Form soll temporär keine Events empfangen
Am im Forum: GUI: WPF und XAML

Ich nutze ein InkCanvas um Freihandzeichnungen zu erstellen.
Nun möchte ich temporär zwar die Freihand-Objekte sichtbar lassen, allerdings darf die Form (und so natürlich auch das InkCanvas) die Mouse-Events nicht mehr abfangen. Vielmehr sollen diese jetzt auf die darunterliegende Applikation durchgegeben werden.
Hat da jemand einen Tipp?

Vielen Dank schonmal!

Thema: Mouse_up reagiert nicht (WPF)
Am im Forum: GUI: WPF und XAML

Wahnsinn - genau das wars! Danke.
>Das Eventhandling unter WPF ist m.E. gut gemeint, aber sowas von verworren und unübersichtlich. Naja - es geht je erstmal.

Vielen Dank nochmal.

Thema: Freihand schreiben: Beim schnellen Schreiben gehen engen Kurven und schnelle Richtungswechsel unter
Am im Forum: Grafik und Sound

Ich wollte nur kurz die (bzw. eine) Lösung angeben:
ich nutze jetzt WPF und darin ein InkCanvas-Element. Damit ist alles mit drei Zeilen Code erledigt (- naja, es gibt dann eben andere Probleme ;-)
Aber Schreiben und Freihand-Zeichnen ist wirklich ok.
Das WPF werde ich dann als DLL in das Office-Addin einbinden.

Thema: Mouse_up reagiert nicht (WPF)
Am im Forum: GUI: WPF und XAML

Ich zeichne in einem WPF-Fenster ein rubberband-Viereck in ein canvas.
Das Problem ist, dass das mouse_up event nicht zieht. Ich habe alle verfügbaren events (preview-mouse-up, mouse-up) aller Objekte versucht - nichts.
Ich vermute mal, dass das gezeichnete Viereck selbst das event "schluckt"?!

Was kann ich tun? Hat jemand eine Idee?