Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Transparentes Bitmap mit API?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.07.2005, 14:34 Uhr
~a4
Gast


Hallo, nicht gleich schlagen... ich hab wirklich die Suchfunktion benutzt!

Ich male in einem Dialog ein Bitmap direkt in den Hintergrund.
(Ist ein Schriftzug)
Das mach ich so:

C++:
case WM_PAINT:
       hdcClient=BeginPaint(hwnd, &ps);
       hdcSource=CreateCompatibleDC(hdcClient);
       SelectObject(hdcSource, hBitmap);
       BitBlt(hdcClient, 0, 0, 202, 59, hdcSource, 0, 0, SRCCOPY);
       DeleteDC(hdcSource);
       EndPaint(hwnd, &ps);
       return 0;



Meine Frage:
Kann ich eine Farbe (Hintergrund) ohne MFC transparent darstellen?
Wenn ja, wie geht das denn?

MFG:a4
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.07.2005, 14:38 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Mit TransparentBlt, funktioniert aber nicht unter NT4.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.07.2005, 14:41 Uhr
~a4
Gast


Gibt es eine Möglichkeit, wo das unter
Win 9x / NT / XP funktioniert?

Ich mus das mindestens unter W98SE und W2k zum laufen kriegen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.07.2005, 15:25 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



Zitat von ~a4:
Ich mus das mindestens unter W98SE und W2k zum laufen kriegen.

Da läuft es doch überall
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.07.2005, 16:03 Uhr
~a4
Gast


ThX für die Antworten

Ich probier das.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.07.2005, 00:57 Uhr
~a4
Gast


Gesagt getan, und zwar hab ich es so getestet:

C++:
  case WM_PAINT:
       hdcClient=BeginPaint(hwnd, &ps);
       hdcSource=CreateCompatibleDC(hdcClient);
       SelectObject(hdcSource, hBitmap);
       TransparentBlt(hdcClient, 0, 0, 202, 59, hdcSource, 0, 0, 202, 59, RGB(214, 211, 206));
       DeleteDC(hdcSource);
       EndPaint(hwnd, &ps);
       return 0;




aber ich krieg da was komisches von meinem Compiler:

--------------------Konfiguration: DataSafe - Win32 Release--------------------
Kompilierung läuft...
DataSafe.cpp
Linker-Vorgang läuft...
DataSafe.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__TransparentBlt@44
Release/DataSafe.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

DataSafe.exe - 2 Fehler, 0 Warnung(en)

Jetzt bin ich erstmal baff, was kann ich tun?
Woran liegt das?
Weiss wer was?

MFG: a4
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.07.2005, 08:22 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Guckst du in die MSDN wo die Funktion beschrieben ist und siehst ganz unten diesen Block

Zitat:

Windows NT: Requires version 5.0 or later.
Windows: Requires Windows 98 or later.
Windows CE: Unsupported.
Header: Declared in wingdi.h.
Import Library: Included as a resource in msimg32.dll.


Wo steht das du die msimg32.lib in den Einstellungen deines Projekts hinzufügen musst.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: