Adresse auf ein HBITMAP
-
Hallo,
Ich muss einer Funktion eine Adresse auf ein HBITMAP übergeben. Soweit ich weiß wird in einem TBitmap ein HBITMAP gekapselt. wie komme ich an die Adresse der HBITMAP-Struktur.
Für einen Tip waäre ich dankbar.
-
Hallo!
Das ist kein Standard-C++, im BCB-Forum wärst Du besser aufgehoben!
Mit myBitmap.Handle kannst Du auf das HBITMAP zugreifen. Falls das Objekt danach auch Dir gehören soll solltest Du besser ReleaseHandle aufrufen. Dann mußt Du allerdings den Speicher auch selber freigeben.Btw: Im BCB Menü: Hilfe->Index->TBitmap klicken, da steht alles ganz genau beschrieben.
MfG Jester
-
Danke für die Antwort. Hilft mir aber leiber nicht.
Die BCB-Hilfe zu diesem Thema kenne ich auswendig. Ich sitzte schon seit ein paar Tagen an dem Problem.
Hier noch etwas genauer:Der Syntax der Aufzurufenden Funktion: (gfl-Strukturen brauchen nicht berücksichtigt werden)
GFL_ERROR gflConvertBitmapIntoDIB( const GFL_BITMAP * bitmap, HBITMAP * hBitmap );
Nur der HBITMAP-Parameter ist wichtig. Dort sollte eigendlich ein "Address of a HBITMAP" (Zitat aus der Reference zur Funktion) landen.
Schreibe ich folgendes:
Image2->Picture->Bitmap->Handle
meldet der Compiler: [C++ Fehler] childwin.cpp(96): E2034 Konvertierung von 'void *' nach 'void * *' nicht möglich
und bei:
&Image2->Picture->Bitmap->Handle
[C++ Fehler] childwin.cpp(96): E2027 Eine Speicheradresse muß verwendet werden
Was muß ich tun?
-
was sagt er denn zu
HBITMAP myHandle = Image->Handle; Function(&myHandle);
?
-
ich danke dir.
jetzt gehts ich bin halt nicht so fit in bcb.