Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Userform Icon

Betrifft: Userform Icon von: chris b.
Geschrieben am: 14.08.2008 07:32:37

Hallo guten morgen,
mal wieder habe ich eine frage.
hatte zwar schon einmal eine Lösung komme aber mit meinem Code selsbt nicht ganz klar.
habe diese Code damit kann ich die userform in der größe ändern und es erstellt mir auch ein icon.(leider irgendiwe ohne Bild)
Wo in dem Code steht welches Icon oder Image auf der form verwendt wird für das angezeigte Icon.
Oder ist da noch wa falsch im code ? Würde mich sehr freuen wenn mir jemand auf die Sprünge helfen könnte.

Bei Form initialize lade ich u.a diese code:
With UF
.MaxButton = True
.MinButton = True
.BorderStyle = xlSolid
.Create Form_Daten_Eingabe
End With

der .Create Form_Daten_Eingabe
steht in einem Klassenmodul.
und sieht so aus:

Public Sub Create(UF As MSForms.UserForm)
   
   Set myUserForm = UF
   
   FormCaption = myUserForm.Caption
   
   m_Handle = GetHandle
   
   SetWindowLong m_Handle, GWL_STYLE, GetStyle Or WS_OVERLAPPEDWINDOW
   SetWindowLong m_Handle, GWL_STYLE, GetStyle Or Border
   
   If MaxBox Then SetWindowLong m_Handle, GWL_STYLE, GetStyle Or WS_MAXIMIZEBOX
   If MinBox Then SetWindowLong m_Handle, GWL_STYLE, GetStyle Or WS_MINIMIZEBOX
   
   SetWindowLong m_Handle, GWL_EXSTYLE, GetStyle And WS_EX_WINDOWEDGE
   
   If (hIcon) Then SendMessage m_Handle, WM_SETICON, ICON_SMALL, hIcon
   
End Sub



Danke für eure Hilfe gruß Chris

  

Betrifft: AW: Userform Icon von: Nepumuk
Geschrieben am: 14.08.2008 08:22:35

Hallo Chris,

das einzige was ich in dem Code sehe, dass das Handle eines Bildes in die Caption des Userforms geschickt wird. Mit dieser Zeile..

If (hIcon) Then SendMessage m_Handle, WM_SETICON, ICON_SMALL, hIcon

Wo das aber herkommen soll, sehe ich nicht. Um an das Handle eines Bildes zu kommen, gibt es mehrere möglichkeiten. Die einfachste wäre, du fügst ein Image-Control in dein Userform ein und hast darin ein Bild.

Dann benötigst du nur diese Zeile:

hIcon = myUserForm.Image1.Picture.Handle

Die setzt du vor die oben erwähnten. Das Image-Control kannst du ja unsichtbar machen (Eigenschaftsfenster - Visible - False).

Gruß
Nepumuk


  

Betrifft: AW: Userform Icon von: chris b.
Geschrieben am: 14.08.2008 08:28:38

Danke Nepumuk,
ich blick da noch nicht so ganz durch mit dem schicken also sendmessage usw..
Aber ich habe es mit hilfe von beiträgen aus dem Forumsarchiv jetzt so gelöst:
If (m_Handle) Then SendMessage m_Handle, WM_SETICON, ICON_SMALL, Form_Daten_Eingabe.Image1.Picture.Handle

Danke für deine Antwort !


  

Betrifft: AW: Userform Icon von: Nepumuk
Geschrieben am: 14.08.2008 08:38:07

Hallo Chris,

na das ist ja der vool Unsinn.

If (m_Handle) Then SendMessage m_Handle, WM_SETICON, ICON_SMALL, Form_Daten_Eingabe.Image1.Picture.Handle

m_Handle ist das Handle des Userforms. Das zu prüfen macht ja wohl keinen Sinn, da die Klasse von einem Userform initialisiert wird. Da kannst du die Prüfung auch weg lassen.

SendMessage m_Handle, WM_SETICON, ICON_SMALL, Form_Daten_Eingabe.Image1.Picture.Handle

Ich habe das aber so gemeint:

hIcon = myUserForm.Image1.Picture.Handle
If (hIcon) Then SendMessage m_Handle, WM_SETICON, ICON_SMALL, hIcon

War doch nicht so schwer zu verstehen?

Gruß
Nepumuk


  

Betrifft: AW: Userform Icon von: chris b.
Geschrieben am: 14.08.2008 09:08:34

Ohh nein :)
Aber irgendwas hab ich nicht verstanden ... Danke jetzt habe ich es !
schönes WE Nepumuk


 

Beiträge aus den Excel-Beispielen zum Thema "Userform Icon"