TransparentBlt(...) wird nicht "gefunden"
-
flenders schrieb:
Bekommst du einen Compiler- oder einen Linker-Fehler? Evtl. sind deine Header-/Lib-Files zu alt

154 C:\Programme\Dev-Cpp\schach-net\winapi.cpp `TransparentBlt' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
C:\Programme\Dev-Cpp\schach-net\Makefile.win [Build Error] [winapi.o] Error 1
zu alt? Ich habe die neuste Versoin der Dev-cpp IDE! daran sollte es eigentlich nicht liegen.
gruss reima
-
Edit: das kommische ist ja das die parameter bei der angabe schön angezeigt werden.
-
Das Pragma versteht Dev-C++ (bzw. der darunterliegende gcc/g++) nicht, das ist m. W. Visual-C++
-spezifisch! Zum Mitlinken der Beispiel.dll bei den Linkeroptionen -lBeispiel angeben (und die Lib in den Pfad der anderen Libs kopieren oder das Verzeichnis der Lib z.B. mit -L zusätzlich angeben)
-
#define WINVER 0x0500 #include <windows.h> int main() { TransparentBlt(NULL, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 0); }
-
Steht zwar auch schon im Code von tippgeber, aber windows.h hast du schon eingebunden, oder?!
-
Es wird wohl an WINVER liegen.

-
Stimmt
Wobei 0x0400 auch schon reichen sollte, zumindest steht bei mir in WinGDI.h:#if (WINVER >= 0x0400)
-
Beim den WinAPI Headern von MinGW ist das aber anders.

-
Na von mir aus

-
ok danke an der WINVERS lag es.
habe es jetzt aber anders gemacht: da ich gelesen hab das die TransparentBlt(..) funktion unter Win98 zu einem Memory Leak führt.
es muss nicht umbedingt transparent sein, je nach standort des Bmp's kommt eine andere Farbe (scharz oder weiss):
HDC PixelEdit(HDC hDC,COLORREF cColor) { COLORREF cTmp; for(int x=0,y=0;y<50;x++) { if(x==50){y++;x=0;} cTmp = GetPixel(hDC,x,y); if(cTmp == RGB(0,255,0)) { SetPixel(hDC,x,y,cColor); } } return hDC; }danke aber trozdem
gruss reima