vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Grafik & Zeichnen13.07.01
ExtractIcon-Funktion

Extrahiert ein einzelnes Icon (Bildsymbol) aus einer *.dll, *.exe oder *.ico und gibt das Icon-Handle zurück.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  11.330 

Deklaration:

Declare Function ExtractIcon Lib "shell32.dll" _
  Alias "ExtractIconA" ( _
  ByVal hInst As Long, _
  ByVal lpszExeFileName As String, _
  ByVal nIconIndex As Long) As Long

Beschreibung:
Diese Funktion extrahiert ein einzelnes Icon (Bildsymbol) aus einer *.dll, *.exe oder *.ico und gibt das Icon-Handle zurück. Über die Funktion DrawIcon kann das Icon angezeigt werden, mit DestroyIcon wird das Icon entfernt und die belegten Ressourcen wieder freigegeben.

Parameter:
hInstErwartet einen Verweis auf eine Instanz der Anwendung, die diese Funktion aufruft.
lpszExeFileNameVollständiger Dateiname (inkl. Pfadangabe), aus der die Icons extrahiert werden sollen.
nIconIndexIndex des zu extrahierenden Icons (beginnend mit 0), "-1" um die gesamte Anzahl vorhandener Icons zu ermitteln

Rückgabewert:
Bei erfolgreichem Funktionsaufruf mit einem gültigen Index-Verweis wird das Handle des Icons zurückgegeben. Wurde für nIconIndex der Wert -1 angegeben, so liefert die Funktion die Anzahl der Icons der Datei. Trat ein Fehler auf oder konnte keine entsprechendes Icon ermittelt werden, so wird der Wert 1 zurückgegeben.


Beispiel:

Private Declare Function PickIconDlg Lib "shell32.dll" _
  Alias "#62" ( _
  ByVal hwndOwner As Long, _
  ByVal lpstrFile As String, _
  ByVal nMaxFile As Long, _
  lpdwIconIndex As Long) As Long
 
Private Declare Function ExtractIcon Lib "shell32.dll" _
  Alias "ExtractIconA" ( _
  ByVal hInst As Long, _
  ByVal lpszExeFileName As String, _
  ByVal nIconIndex As Long) As Long
 
Private Declare Function DrawIcon Lib "user32" ( _
  ByVal hdc As Long, _
  ByVal x As Long, _
  ByVal y As Long, _
  ByVal hIcon As Long) As Long
 
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
' Icon per Dialog wählen und in ein Bildfeld übertragen
Private Sub Command1_Click()
  Dim hIco As Long, TmpIndex As Long, RetVal As Long, TmpIconFile As String * 256
 
  ' Icon-Dialog aufrufen.
  ' Achtung!!! Unter Windows NT vorher in Unicode Konvertieren
  TmpIconFile = "c:\windows\system\pifmgr.dll" & vbNullChar
  RetVal = PickIconDlg(Me.hWnd, TmpIconFile, Len(TmpIconFile), TmpIndex)
  If RetVal = 0 Then
    MsgBox "Sie haben kein Icon gewählt", vbOKOnly + vbInformation, _
      "Abbrechen" 
    Exit Sub
  End If
 
  ' Extrahieren und Zeichnen
  hIcon = ExtractIcon(App.hInstance, Left$(TmpIconFile, InStr(1, _
    TmpIconFile, vbNullChar) - 1), TmpIndex)
 
  Picture1.Cls
  DrawIcon Picture1.hdc, 0, 0, hIcon
  Picture1.Refresh
 
  DestroyIcon hIcon
End Sub

Diese Seite wurde bereits 11.330 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel