Vista Command Link mit C# und Windows Forms

Vermutlich kennen alle von Euch bereits die Vista Command Link Buttons! Das sind diese neuen Buttons halb Button halb link, die mit zusätzlichen Informationen versehen dem Benutzer bei entscheidungen helfen sollen…

Anstatt sie noch länger zu beschreiben hier ein kleiner Screenshot von 2 Command Links:


Sie werden vor allem in neuen Assistenten häufig verwendent (unter dem Text und dem Icon steht auch oft eine Beschreibung..)

Die Frage, die wir Developer uns dabei natürlich gleich stellen: Wie kann ich sowas in meine Anwendung einbauen?!

Im Falle des Command Links ist die Antwort darauf recht simpel: Wenn ihr WPF verwendet, könnt ihr ein ControlTemplate bauen, das den Button nachahmt (im Plattform SDK ist ein Beispiel unter der „Vista Bridge Library“ enthalten).
Für Windows Forms, funktioniert das ganze ein bisschen anders (allerdings auch nicht sonderlich kompliziert):

Man kann Win32 Buttons über Styles und Window Messages so verändern, dass sie zu Vista Command Links „mutieren“.
Da das Windows.Forms.Button Control auch nur ein Wrapper für ein Win32 Button ist, funktioniert das natürlich auch dort: Den Button Style BS_COMMANDLINK anwenden und die Property Button.FlatStyle auf FlatStyle.System setzen – voila fertig ist der CommandLink!

public class CommandLink:Button\n    {\nconst int BS_COMMANDLINK = 0x0000000E;\n\npublic CommandLink()\n        {\nthis.FlatStyle = FlatStyle.System;\n        }\n\n\nprotected override CreateParams CreateParams\n        {\n            get\n            {\n                CreateParams cParams = base.CreateParams;\n                cParams.Style |= BS_COMMANDLINK;\nreturn cParams;\n            }\n        }\n    }

\n \n\n

Das entstandene CommandLink Control hat bereits das entsprechende Aussehen und den Titel/Text aber keine zusätzliche Beschreibung! Um die auch noch hinzuzufügen, bedarf es einer WindowMessage (BCM_SETNOTE ) an den Button:

  SendMessage(new HandleRef(this, this.Handle),\n    BCM_SETNOTE,\n    IntPtr.Zero, "Note text");

\n \n\n

Zusätzlich ist es noch möglich über BCM_SETSHIELD ein Schild Icon (das Elevation Icon) zu setzen:

  SendMessage(new HandleRef(this, this.Handle), BCM_SETSHIELD, \n    IntPtr.Zero, true);

\n \n\n

Wenn ihr die beiden Aufrufe in Properties kapselt, entsteht dadurch ein nettes Windows.Forms Control, das außerdem auch bereits im Designer gerendert wird!

\n

Damit könnt ihr Command Links in eure eigenen Anwendungen einbauen, z.B. für Fenster wie dieses:

\n

\n

Wenn ihr wollt, könnt ihr euch das fertige Control hier herunterladen und weiterverwenden!

Sidebar Gadgets: Interview mit Andreas Rynes

Andreas ist Application Development Consultant bei Microsoft und hat das Ö3 Gadget für die Windows Vista Sidebar entwickelt. In dem Interview geht es um die Entwicklung und was die Zukunft bringt.

Video: Interview mit Andreas Rynes

Andreas ist auf den Big Days in Graz (27.3.) und Wien (11.4.) persönlich zu treffen und hält dort auch eine Session im Developer Track, wo er erklärt, wie man Gadgets entwickelt bzw. wie man das Ö3 Gadget erweitern kann (Stichwort: Settings, Dock/Undock und Gadget API).

Wer sich in die Entwicklung von Gadgets einlesen will, dem seien folgende Links angeraten:

Windows Vista: Die ersten 90 Tage & Sicherheit

Ja, es ist durchaus schon der richtige Zeitpunkt, um mal zurückzuschauen. Daniel Melanchthon verweist auf den Blog-Eintrag von Jeff Jones Security Blog. Jeff vergleicht dabei die aufgetauchten Verwundbarkeiten von Windows Vista, Windows XP, Redhat Enterprise Linux for Workstations, Ubuntu 6.06 LTS, SuSE Linux Enterprise Desktop 10 und MacOSX 10.4, jeweils 90 Tage nach Launch des jeweiligen Produkts.

vista90dayvulncompare6-4-

In der detaillierten Analyse erklärt Jeff, wie er zu diesen Ergebnissen gekommen ist. Zeigt jedenfalls sehr deutlich, dass Windows Vista (Anmerkung: nicht nur) im Sicherheitsbereich einfach top ist.

Quellen:

Big Days 2007: Gewinner des Look-a-Like Wettbewerbs

Mag. Christian Cerny von der IMC Fachhochschule Krems ist eindeutig der (vorläufige?) Gewinner des wenige Sekunden zuvor gestarteten Look-A-Like Contests, man möge sich hier überzeugen:

Christian hat den Look-A-Like Wettbewerb gewonnen

Neben der Teilnahme an diesem Wettbewerb Dingen schauen sich Christian und seine Kollegen vor allem die SharePoint Sessions an, um entsprechende Lösungen an der FH einzusetzen, inklusive InfoPath, Forms Server, Workflows,… mich (als Lektor an der FH) freut aber vor allem, dass an der FH im Sommer auf Windows Vista und Office 2007 umgestellt wird. Das kommt nicht nur mir als Lektor zugute, sondern vor allem auch den Studenten, die hier mit neuester Technologie arbeiten können. Und das neue Office ist schon toll,… mein Lieblingszitat aus einem Forum:

„…Als Unixfanatiker muss ich allerdings zugeben, dass ich die Office Präsentation schon toll fand…“

Big>Days 2007: Linz

Sitze gerade im Windows Vista Vortrag von Karl Lehner und Gerald Six. Spannend, bringt mir vor allem einige Ideen worüber ich noch bloggen „muss“. Das „Muss“ deshalb, weil in Vista noch derart viel spanndes dabei ist…und netterweise wird auch vielgezeigt. Generell sind die Big Days auch in Linz sensationell besucht, der Themenmix dürfte wirklich ins Schwarze getroffen haben. Heute in Linz (Stand von 9:30) haben sich 454 interessierte IT-Pros, Admins und Developer eingefunden.

Hier ein Photo von „jetzt“, die erste Session nach der Keynote. Karl und Gerald präsentieren „Windows Vista: Effizientes Management und Verfügbarkeit“:

Voller Saal bei Vista, Karl und Gerald

Und weil Barbara geschimpft hat, dass kein Photo von ihr online sei… hier vom gestrigen Abendessen 🙂

Gerwaldo, Barbara und Christian Gemütliches Essen

ONE mit HUAWEI USB Modem unter Vista verwenden

Vor kurzem besorgte ich mir das Huawei USB Modem mit ONE-Vertrag (H.U.I) – leider waren noch keine Vista Treiber beigepackt – das war weniger „Hui“. Das Problem beim Huawei Modem ist ja, dass die Software auf dem Modem – quasi wie auf einem USB Stick – gespeichert ist. Da diese vom Hersteller für Win XP entwickelt wurde, und anscheinend noch kein Update für Vista erschienen ist, erkennt Vista das Modem nur als USB-Massenspeichergerät. Nach einiger Recherche fand ich aber einen Weg, um sowohl die originale ONE Mobile Connect-Software zu installieren als auch das Modem zum Laufen zu bringen. Hier steht, wie´s geht:

1. ONE Software inklusive den neuen E220 Treibern hier downloaden („provided as is“ – kein Support von meiner Seite):

2. ONE Software installieren und danach das USB-Modem anschließen

3. Geräte-Manager öffnen

4. Unter den USB-Controllern den Eintrag USB-Massenspeichergerät findenUm sicher zu gehen, daß man das das richtige Gerät ausgewählt hat, die Eigenschaften des USB-Massenspeichergerätes anschauen (Rechtsklick -> Eigenschaften). Unter den Details und der Eigenschaft „Untergeordnete Elemente“ sollte im Wert HUAWEI genannt sein, dann ist das richtige Gerät ausgewählt

5. Mit Rechtsklick auf das USB-Massenspeichergerät klicken und „Treibersoftware aktualisieren“ klicken

6. „Auf dem Computer nach Treibersoftware suchen“ klicken, und danach auf „Aus einer Liste von Gerätetreibern auf dem Computer auswählen“

7. Das Häkchen bei der Checkbox „Kompatible Hardware anzeigen“ wegklicken, sodass die gesamte Hardwareliste angezeigt wird8. Den obersten Eintrag „(Standard-USB-Hostcontroller)“ auswählen

9. Bei Modell das „USB Verbundgerät“ auswählen

10. Nun sollten neben dem USB-Verbundgerät 2 weitere Geräte – die E220 Data Interfaces – entdeckt worden sein. Wenn dem nicht so ist, das USB Modem ausstecken und wieder anschließen

11. Unter Modems sollte nun der Eintrag „HUAWEI 3G Modem“ stehen und unter Anschlüsse das „HUAWEI 3G PC UI Interface“

12. Die ONE Connect Software auf dem Desktop als Administrator (Rechte Maustaste -> als Administrator ausführen) starten und verbinden.

Getestet mit Acer Aspire 1690, Samsungs Q1 und Toshiba M400

Übrigens: prinzipiell lassen sich mit dieser Methode auch HUAWEI USB Modems von anderen Providern anschliessen, hier muss man jedoch zuerst die Software vom USB Modem kopieren. Die Software kann man sich vom Modem herunterkopieren, wenn man das Modem an einen XP Rechner anschließt und anschließend auf das USB-Modem zugreift, und die Software auf einen USB Stick kopiert (Vista Treiber für das Huawei Modem). Andere Provider als ONE habe ich jedoch nicht getestet. Vielleicht probiert das jemand von euch?

Big > Days 2007 starten

Morgen beginnen die Big > Days 2007. Und ich begebe mich schon heute Richtung Bregenz. Jedenfalls hoffe ich das, denn derzeit tut sich beim Boarding nicht viel (jaja, ich schäme mich eh, aber ich hatte einen Termin noch heute, wäre sich mit Zug oder Auto einfach nicht ausgegangen). Macht nix, komem ich wenigstens dazu diese Vorankündigung zu schreiben 🙂

Ankündigung: ich werde brav von den BigDays bloggen. Wobei ich mir mit dem Detailgrad noch nicht so sicher bin, immerhin soll man die BigDays ja besuchen und nicht nur Reviews über die Session lesen. Und so ich alle möglichen Akkuladegeräte dabei habe, gibts auch Bilder davon.