Rubrik: Grafik & Zeichnen | 13.07.01 |
DrawIcon-Funktion Zeichnet ein Icon z.B. in eine PictureBox. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 11.307 |
Deklaration:
Declare Function DrawIcon Lib "user32.dll" ( _ ByVal hDC As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal hIcon As Long) As Long
Beschreibung:
Zeichnet ein Icon z.B. in eine PictureBox.
Parameter:
hDC | Erwartet den Devicekontext des Devices, auf dem das Icon gezeichnet werden soll. |
x | Legt die horizontale Position für die Ausgabe des Icons fest. |
y | Legt die vertikale Position für die Ausgabe des Icons fest. |
hIcon | Erwartet den Handle des Icons, welches gezeichnet werden soll. |
Rückgabewert:
War der Aufruf erfolgreich, so liefert die Funktion einen Wert "ungleich 0", andernfalls ist die Rückgabe "0". Für erweiterte Fehlerinformationen rufen Sie die GetLastError-Funktion auf.
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