ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
355
355
EMPFEHLEN
-
Hallihallo werte Freunde der Sonne,
ich habe ein kleines Problem und zwar muss ich in MS VS 6.0 ein tranzparenten Button laden.
dies wird so gemacht
Code cpp:1 2 3 4 5 6
CBUTTON m_cFwd; . . m_cFwd.SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_GO)));
dadurch kann ich das Bitmap anzeigen.. nun geht in Bitmaps aber keine Transparenz nur in gifs ico etc. kein Problem nehme ich halt ein Transparentes ico. kann man ja auch ganz einfach hinzufügen.
gesagt getan nur leider weis ich nicht wie ich die Icons an der Stelle vom CButton anzeigen kann.. ich habs schon so versucht..
Code cpp:1
m_cFwd.SetIcon(::LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1)));
geht aber leider nicht...
weis jemand Rat?
danke schonmal im Vorraus
greetz sand13rGeändert von sand13r (30.10.07 um 16:47 Uhr)
#include<MCoder.h>
#include<iostream>
#include<conio.h>
int main()
{
MCoder *pmcoder;
cout<<"Please ask your Question!!"<<endl;
cin>>pmcoder->QuestionString;
cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;
getch();
return 0;
}
-
18.06.08 01:02 #2
Hi,
also mit der folgenden methode kannst du Transparente Grafiken zeichnen.
Dafür muss deine Grafik allerdings den gesamten transparenten Bereich in einer bestimmten Farbe haben, welche dann transparent gezeichnet wird.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
void MyClass::TransBlt( CDC *pDC, int nXDest, int nYDest, int nWidth, int nHeight/*, HBITMAP hBitmap, int nXSrc, int nYSrc, COLORREF colorTransparent, HPALETTE hPal */) { CDC memDC, maskDC, tempDC; maskDC.CreateCompatibleDC(pDC); CBitmap maskBitmap; //add these to store return of SelectObject() calls CBitmap* pOldMemBmp = NULL; CBitmap* pOldMaskBmp = NULL; HBITMAP hOldTempBmp = NULL; memDC.CreateCompatibleDC(pDC); tempDC.CreateCompatibleDC(pDC); CBitmap bmpImage; bmpImage.CreateCompatibleBitmap( pDC, nWidth, nHeight ); pOldMemBmp = memDC.SelectObject( &bmpImage ); HPALETTE hPal = NULL; HBITMAP hBitmap = (HBITMAP)GetSafeHandle(); // Select and realize the palette if( pDC->GetDeviceCaps(RASTERCAPS) & RC_PALETTE && hPal ) { ::SelectPalette( pDC->GetSafeHdc(), hPal, FALSE ); pDC->RealizePalette(); ::SelectPalette( memDC, hPal, FALSE ); } hOldTempBmp = (HBITMAP) ::SelectObject( tempDC.m_hDC, hBitmap ); memDC.BitBlt( 0,0,nWidth, nHeight, &tempDC, 0, 0, SRCCOPY ); // Create monochrome bitmap for the mask maskBitmap.CreateBitmap( nWidth, nHeight, 1, 1, NULL ); pOldMaskBmp = maskDC.SelectObject( &maskBitmap ); memDC.SetBkColor( RGB(0,255,0)); // Create the mask from the memory DC maskDC.BitBlt( 0, 0, nWidth, nHeight, &memDC, 0, 0, SRCCOPY ); // Set the background in memDC to black. Using SRCPAINT with black // and any other color results in the other color, thus making // black the transparent color memDC.SetBkColor(RGB(0,0,0)); memDC.SetTextColor(RGB(255,255,255)); memDC.BitBlt(0, 0, nWidth, nHeight, &maskDC, 0, 0, SRCAND); // Set the foreground to black. See comment above. pDC->SetBkColor(RGB(255,255,255)); pDC->SetTextColor(RGB(0,0,0)); pDC->BitBlt(nXDest, nYDest, nWidth, nHeight, &maskDC, 0, 0, SRCAND); // Combine the foreground with the background pDC->BitBlt(nXDest, nYDest, nWidth, nHeight, &memDC, 0, 0, SRCPAINT); if (hOldTempBmp) ::SelectObject( tempDC.m_hDC, hOldTempBmp); if (pOldMaskBmp) maskDC.SelectObject( pOldMaskBmp ); if (pOldMemBmp) memDC.SelectObject( pOldMemBmp ); }
Die Methode habe ich selbst mal im Internet gefunden und sie funktioniert prächtig
Gruß,
PeterDer Computer wird das tun, was du programmierst - nicht das, was du willst ;-)
-
Gehe mal im Dialogdesigner zu den Eigenschaften des Buttons, Auf der Registerkarte "Formate" musst du die Option "Symbol" (NICHT "Bitmap") aktivieren.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
Ähnliche Themen
-
Mehere Bilder (Icons) bei Mouseover anzeigen
Von Saimen im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 18.01.11, 20:55 -
Icons von Dateien im TreeView anzeigen
Von Konstabler im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 8Letzter Beitrag: 21.09.10, 21:10 -
BIRT - Icons dynamisch anzeigen
Von rintin308 im Forum JavaAntworten: 0Letzter Beitrag: 14.07.10, 15:41 -
JFileChooser Icons anzeigen
Von jean luc im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 11.07.06, 11:18 -
icons im context menue anzeigen lassen links neben dem text
Von defenderH2O im Forum C/C++Antworten: 0Letzter Beitrag: 12.05.06, 23:48





Zitieren
Login






