Forum: PC-Programmierung (C#) Windows-Standard-Icons verwenden


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Matthias S. (da_user)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich suche eine Möglichkeit die Icons zu verwenden, die in Windows 
Verwendung finden.
So mus sich mir jetzt gerade z.B. einen eigenen DriveBrowserDialog 
zusammenbasteln, bei dem ich die jeweilligen Laufwerkssymbole verwenden 
möchte. Die möchte ich auch nicht einbinden, sondern vom BS bekommen, da 
das Programm unter W7 natürlich die Icons von W7 anzeigen soll, und 
unter 10 die Symbole von Win10.
Aber auch das klassiche Speichern (die Diskette) und so wäre mal ganz 
nett.

Wenn ich google treffe ich nur auf auf die SystemIcons-Klasse die mir ja 
nur diese Icons für die Dialogfelder zur verfügung stellt. Oder auf 
Fragen/Antworten zum Thema: "Wo finde ich (kostenlose/frei verfügbare) 
Icons für meine Anwendung".

Evtl. kann mir ja hier jemand helfen ;-)

VG
da_user

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:
> So mus sich mir jetzt gerade z.B. einen eigenen DriveBrowserDialog
> zusammenbasteln

Das ist eine Betriebssystemfunktion, wozu braucht man da einen eigenen 
Dialog?

von Martin S. (sirnails)


Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Matthias S. schrieb:
>> So mus sich mir jetzt gerade z.B. einen eigenen DriveBrowserDialog
>> zusammenbasteln
>
> Das ist eine Betriebssystemfunktion, wozu braucht man da einen eigenen
> Dialog?

Oh Gott ja! Das sind die schlimmsten Pappenheimer, die einen eigenen 
Dialog bauen, der nicht funktioniert :)

Aber zum Thema: Die Icons finden sich in hier: 
http://www.deskmodder.de/wiki/index.php/Vista:_In_welcher_dll_finde_ich_welches_Icon_/_Grafik

von Matthias S. (da_user)


Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Matthias S. schrieb:
>> So mus sich mir jetzt gerade z.B. einen eigenen DriveBrowserDialog
>> zusammenbasteln
>
> Das ist eine Betriebssystemfunktion, wozu braucht man da einen eigenen
> Dialog?

Ähm, es gibt einen OpenFileDialog und einen FolderBrowserDialog, aber 
keinen DriveBrowserDialog in dem ich nur und ausschließlich ein Laufwerk 
auswählen kann.

von Matthias S. (da_user)


Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:
> Aber zum Thema: Die Icons finden sich in hier:
> 
http://www.deskmodder.de/wiki/index.php/Vista:_In_welcher_dll_finde_ich_welches_Icon_/_Grafik

Ähm, danke das werde ich mir daheim mal ansehen.Aber wie greife ich aus 
einem c#-Programm darauf zu?

von bluppdidupp (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von bluppdidupp (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Shell-Funktionen gehen scheinbar schonmal in die richtige Richtung - 
Hier hat wohl jemand die Lösung gefunden: 
http://stackoverflow.com/a/12862614/3408300

von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Tim S. (Firma: tsx) (freak_ts) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:
> das klassiche Speichern (die Diskette) und so wäre mal ganz nett.

https://www.microsoft.com/en-us/download/details.aspx?id=35825

> VS2012 Image Library.zip  19.4 MB
> VS2013 Image Library.zip  285.6 MB
> VS2015 Image Library.zip  2.9 GB

: Bearbeitet durch User
von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:

> Evtl. kann mir ja hier jemand helfen ;-)

Diese Icons stecken allesamt als Icon-Resourcen in der shell32.dll. Also 
mußt du einfach nur die Funktionen benutzen, die das OS zum Zugriff auf 
Resourcen ausführbarer Dateien bereitstellt. Schöner Anfangsbegriff zum 
Googlen ist vielleicht "FindResource".

Und als Anfangsbegriffe zum Googlen nach einer Möglichkeit, von C# aus 
diese Funktionen des Win32-API aufzurufen: "pinvoke" und der Namespace 
"system.runtime.interopservices".

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.