vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Re: JPG aus RES Datei laden und in einer Picture Box anzeigen.. 
Autor: wincnc
Datum: 08.02.05 22:17

Versuch´s mal hiermit:

In Form:
Private Sub Command1_Click()
Set Picture1.Picture = LoadImageFromRES(101, "CUSTOM")
End Sub
In Modul:
Private Declare Function GlobalAlloc Lib "kernel32" ( _
  ByVal wFlags As Long, _
  ByVal dwBytes As Long) As Long
 
Private Declare Function GlobalFree Lib "kernel32" ( _
  ByVal hMem As Long) As Long
 
Private Declare Function GlobalLock Lib "kernel32" ( _
  ByVal hMem As Long) As Long
 
Private Declare Function GlobalUnlock Lib "kernel32" ( _
  ByVal hMem As Long) As Long
 
Private Declare Function CopyMemory Lib "kernel32" _
  Alias "RtlMoveMemory" ( _
  lpvDest As Any, _
  lpvSource As Any, _
  ByVal nByte As Long) As Long
 
Private Declare Function CreateStreamOnHGlobal Lib "ole32.dll" ( _
  ByVal hGlobal As Long, _
  ByVal fDeleteOnRelease As Long, _
  lpIStream As IUnknown) As Long
 
Private Declare Function OleLoadPicture Lib "oleaut32.dll" ( _
  ByVal lpStream As IUnknown, _
  ByVal lSize As Long, _
  ByVal fRunmode As Long, _
  riid As Any, _
  lpIPicture As IPicture) As Long
 
Public Function LoadImageFromRES(ByVal nResID As Long, sType) As StdPicture
  Dim hMem As Long
  Dim pMem As Long
  Dim IStream As IUnknown
  Dim IID_IPicture(3) As Long
  Dim oPicture As IPicture
  Dim nSize As Long
  Dim bImg() As Byte
 
  bImg = LoadResData(nResID, sType)
 
  nSize = UBound(bImg) + 1
 
  hMem = GlobalAlloc(GMEM_MOVEABLE, nSize)
  pMem = GlobalLock(hMem)
  If hMem <> 0 And pMem <> 0 Then
    CopyMemory ByVal pMem, bImg(0), nSize
    GlobalUnlock hMem
    IID_IPicture(0) = &H7BF80980
    IID_IPicture(1) = &H101ABF32
    IID_IPicture(2) = &HAA00BB8B
    IID_IPicture(3) = &HAB0C3000
 
    If CreateStreamOnHGlobal(pMem, Abs(True), IStream) = 0 Then
      If OleLoadPicture(IStream, nSize, 0, IID_IPicture(0), oPicture) = 0 Then
        Set LoadImageFromRES = oPicture
      Else
        MsgBox "Grafik konnte nicht geladen werden"
      End If
    Else
      MsgBox "OLE-Stream konnte nicht erstellt werden"
    End If
 
    Call GlobalFree(hMem)
  Else
    MsgBox "zu wenig Speicher"
    If hMem <> 0 Then Call GlobalFree(hMem)
  End If
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
JPG aus RES Datei laden und in einer Picture Box anzeigen..857hakkz08.02.05 15:07
Re: JPG aus RES Datei laden und in einer Picture Box anzeige...481wincnc08.02.05 22:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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