Anzeige
Archiv - Navigation
1180to1184
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Userform Bild einfügen
Lutz
Hallo,
kann ich die Meldungssymole, die in MSG-Boxen auswählbar sind (z.B. VBExclamation) auch in Userformen darstellen, bzw. als Bild einfügen.
Wo, und mit welchen Dateianhang finde ich die Symbole gegebenfalls?
Danke für Hilfe.
M.f.G.
Lutz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform Bild einfügen
13.10.2010 12:26:16
Oberschlumpf
Hi Lutz
Ob es so geht, wie du fragst, weiß ich nicht, aber...
...erstell doch Dummy-MsgBoxes mit den von dir gewünschten Symbolen
...lass diese anzeigen und erstelle Screenshots
...lösch in den Screenshots alles, was du nicht möchtest und speicher den Rest als JPG ab
...nun könntest du die Mini-JPGs als Grafiken in deine Userformulare einfügen
Hilft meine Workaroundidee?
Ciao
Thorsten
AW: Userform Bild einfügen
13.10.2010 12:38:56
Lutz
Hallo Thorsten,
das ist einfache und zugleich gute Lösung, werde diese so anwenden. (:-)
Lasse aber die Frage mal offen, falls jemand eine Antwort zu den Windowssymbolen hat.
M.f.G.
Lutz
Anzeige
AW: Userform Bild einfügen
13.10.2010 12:52:13
Lutz
Frage noch offen.
AW: Userform Bild einfügen
13.10.2010 14:57:19
Tino
Hallo,
anstatt auf 100 Codezeilen zu setzen um ein Icon auszulesen
http://www.vbarchiv.net/tipps/tipp_1661-systemspezifische-msgbox-symbole-ermitteln-und-anzeigen.html
(Kann so aber nicht in Excel VBA verwendet werden!)
Ich würde mir Image mit den Bildern unsichtbar einbauen und je nach dem was gebraucht wird
in ein sichtbares Image anzeigen.
Hier mal ein grobes Beispiel, nicht schön aber zeigt wie so etwas funktionieren könnte.
https://www.herber.de/bbs/user/71900.xls
Gruß Tino
Anzeige
AW: Userform Bild einfügen
13.10.2010 15:37:42
Lutz
Hallo Tino,
danke für Deine Antwort.
M.f.G.
Lutz
Userform MsgBox-Icon einfügen
13.10.2010 21:58:45
Nepumuk
Hallo Tino,
sind 60 Zeilen erträglich? Dafür gibt's auch den Msgbox-Beep als Zugabe!
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Declare Function LoadIconBynum Lib "user32.dll" Alias "LoadIconA" ( _
    ByVal hInstance As Long, _
    ByVal lpIconName As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
Private Declare Function GetWindowDC Lib "user32.dll" ( _
    ByVal hwnd As Long) As Long
Private Declare Function DrawIcon Lib "user32.dll" ( _
    ByVal hdc As Long, _
    ByVal x As Long, _
    ByVal y As Long, _
    ByVal hIcon As Long) As Long
Private Declare Function ReleaseDC Lib "user32.dll" ( _
    ByVal hwnd As Long, _
    ByVal hdc As Long) As Long
Private Declare Function DestroyIcon Lib "user32.dll" ( _
    ByVal hIcon As Long) As Long
Private Declare Function MessageBeep Lib "user32.dll" ( _
    ByVal wType As Long) As Long

Private Enum ICON_ID
    IDI_CRITICAL = 32513&
    IDI_QUESTION = 32514&
    IDI_EXCLAMATION = 32515&
    IDI_INFORMATION = 32516&
End Enum

Private Const GC_CLASSNAMEMSEXCELFORM = "ThunderDFrame"

Private Const MB_ICONSTOP = &H10&
Private Const MB_ICONQUESTION = &H20&
Private Const MB_ICONEXCLAMATION = &H30&
Private Const MB_ICONINFORMATION = &H40&

Private msngFormHeight As Single

Private Sub UserForm_Activate()
    Height = msngFormHeight + 1
End Sub

Private Sub UserForm_Initialize()
    msngFormHeight = Height
End Sub

Private Sub UserForm_Resize()
    Repaint
    Call ShowSystemIcon(IDI_EXCLAMATION)
End Sub

Private Sub ShowSystemIcon(penmIDI As ICON_ID)
    Dim lngIconHandle As Long, lngFormHandle As Long
    Dim lngMsgBeep As Long, lngFormDC As Long
    lngIconHandle = LoadIconBynum(0&, penmIDI)
    lngFormHandle = FindWindow(GC_CLASSNAMEMSEXCELFORM, Caption)
    lngFormDC = GetWindowDC(lngFormHandle)
    Call DrawIcon(lngFormDC, 20&, 50&, lngIconHandle) 'hier die Position des Icons angeben
    Call ReleaseDC(lngFormHandle, lngFormDC)
    Call DestroyIcon(lngIconHandle)
    Select Case penmIDI
        Case IDI_CRITICAL: lngMsgBeep = MB_ICONSTOP
        Case IDI_QUESTION: lngMsgBeep = MB_ICONQUESTION
        Case IDI_EXCLAMATION: lngMsgBeep = MB_ICONEXCLAMATION
        Case IDI_INFORMATION: lngMsgBeep = MB_ICONINFORMATION
    End Select
    Call MessageBeep(lngMsgBeep)
End Sub

Gruß
Nepumuk
Anzeige
die Antwort hatte ich von Dir schon erwartet
13.10.2010 22:50:42
Dir
Hallo Nepumuk,
nicht schlecht, hätte ich wohl so nicht hinbekommen.
Gruß Tino

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige