begin process at 2012 05 30 05:24:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

VC++6 - SDK - Static transparent ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

VC++6 - SDK - Static transparent ?

mercredi 20 octobre 2004 à 11:14:12 | VC++6 - SDK - Static transparent ?

cadeau

Membre Club
Je veux mettre un static sur une texture de fond et tout ceci dans une boîte de dialogue. Quelque soit la méthode employée je n'arrive pas à rendre transparent ce static. Ci-dessous le source C++ et la ressource.

Merci.

C++ :

#include <windows.h>
#include "resource.h"

// Variables globales. -------------------------------------------------------
HINSTANCE hInst; // L'instance courante.


// Les prototypes. ------------------------------------------------------------
LRESULT CALLBACK DlgMainProc(HWND, UINT, WPARAM, LPARAM);


int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
hInst = hInstance ;

DialogBoxParam(hInst, (LPCTSTR)IDD_DLGMAIN, 0, (DLGPROC)DlgMainProc, 0);
return 0;
}

// Gestion des messages.
// ----------------------------------------------------------------------------
LRESULT CALLBACK DlgMainProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
//
// Traitement des messsages envoyés par la boite de dialogue IDD_DLGMAIN
// ----------------------------------------------------------------------------

// Les déclarations. ----------------------------------------------------------
static HBITMAP hbmp; // handle de l'image bitmap à afficher.
static HDC hdcCompat; // DC pour copier l'image.
HDC hdc; // device context (DC) pour window
PAINTSTRUCT ps; // Structure pour BeginPaint and EndPaint
switch (message) {

case WM_INITDIALOG : {
hbmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_MOSAIC));
// Crée un device context (DC) pout l'image bitmap.
// L'image bitmap est copiée depuis ce DC vers le DC de la fenêtre.
hdc = GetDC(hDlg);
hdcCompat = CreateCompatibleDC(hdc);
SelectObject(hdcCompat, hbmp);
return TRUE ;
}

case WM_PAINT : {
BeginPaint(hDlg, &ps);
StretchBlt( ps.hdc, // HDC de destination.
0, // X-Coord. destination.
0, // Y-Coord. destination.
72, // Largeur de destination.
72, // Hauteur de destination.
hdcCompat, // Handle de la source.
0,
0,
72,
72,
SRCCOPY);
EndPaint(hDlg, &ps);
}


case WM_COMMAND : {
if (LOWORD(wParam) == IDOK) {
return TRUE ;
}
if (LOWORD(wParam) == IDCANCEL) {
EndDialog(hDlg, LOWORD(wParam));
return TRUE ;
}
break ;
}

default : {
return FALSE ;
}
}
return FALSE ;
}


La resource :

//Microsoft Developer Studio generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// French (France) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
#ifdef _WIN32
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
#pragma code_page(1252)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END

3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_DLGMAIN DIALOGEX 0, 0, 248, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,191,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,191,24,50,14
CONTROL "Static",IDC_STATIC,"Static",SS_SIMPLE | SS_CENTERIMAGE |
WS_GROUP,7,7,102,18,WS_EX_TRANSPARENT
END


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DLGMAIN, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 241
TOPMARGIN, 7
BOTTOMMARGIN, 88
END
END
#endif // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//

IDB_MOSAIC BITMAP DISCARDABLE "Login_Mosaique.bmp"
#endif // French (France) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

mercredi 20 octobre 2004 à 11:36:35 | Re : VC++6 - SDK - Static transparent ?

BruNews

Administrateur CodeS-SourceS
http://www.cppfrance.com/code.aspx?id=9674

ciao...
BruNews, MVP VC++
mercredi 20 octobre 2004 à 12:19:50 | Re : VC++6 - SDK - Static transparent ?

cadeau

Membre Club
Merci de ta réponse BruNews.

Mais ce que je veux faire, c'est afficher une texture de fond sur la boite de dialogue, pour cela j'utilise actuellement "StretchBlt".
De cette manière je n'arrive pas à rendred transparent un static texte.

A+

Cadeau
mercredi 20 octobre 2004 à 14:26:19 | Re : VC++6 - SDK - Static transparent ?

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Pour rendre ton STATIC transparent tu intercepte le message WM_CTLCOLORSTATIC comme ceci:

case WM_CTLCOLORSTATIC:
if ((HWND)lParam==GetDlgItem(hDlg,IDC_STATIC))
{
SetBkMode((HDC)wParam, TRANSPARENT);
return (BOOL)GetStockObject(NULL_BRUSH);
}
return 0;

mercredi 20 octobre 2004 à 15:05:09 | Re : VC++6 - SDK - Static transparent ?

thierry la fronde

Membre Club
Il me semble qu'il faut jouer avec la propriété "simple" du CStatic.

A+
mercredi 20 octobre 2004 à 17:07:41 | Re : VC++6 - SDK - Static transparent ?

cadeau

Membre Club
Ca marche.

Merci.



Cette discussion est classée dans : static, wparam, hdc, resource, apstudio


Répondre à ce message

Sujets en rapport avec ce message

API :: gestion du mulo [ par JackosKing ] LRESULT CALLBACK Twiny::WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ static bool activate = FALSE; switch ( message ) { case WM_MO HELP!! comment rafraichir [ par kuruma ] LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){   static string chemin;  static int count=0;  static bool se Resource et Donnees [ par wxccxw ] Hello, voila premierement je donne mon code simple pour gerer une dialog Box resource : #include "resource.h" #include #include #include #include Déplacement d'image BMP avec Win APi [ par hiroko ] En esperant etre dans la bonne catégorie...Voilà mon problème, je dois créer un Snake en C avec Win APIEt j'ai des gros problème d'affichage.Je cherch Edit Control [ par cybermatthieu ] Bonjours,Je suis en Train d'apprendre comment progrmmer en Win32 avec la Class Windows.h. Ce petit programme ne fait q'afficher des caracter mais j'ai Affichage bitmap [ par gregory6 ] GringoBonjour, je suis débutant ss visual C++ et j'aurai besoin d'un peu d'aide. Je crée un projet MFC ds lequel je crée une fenetre. Cette fenetre cr case paint en dev c++ [ par nori81 ] j'ai ce code dev c++ qui ne veut pas fonctionner: #include LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK MainWndProc (H cercle, horloge, static POINT xxxx [ par ultima666 ] Bonjour je voulais savoir si l'on pouvait trcer des cercle avec la même méthode que ca:void ( HDC hdc, xxxxx){static BOOL alpha [2][3] = { 1,0,1,1, un probleme de calcul de courbe [ par Cyr62110 ] Voila mon probleme, je creer un programme dessinant des courbes (fonction,point par point).Mais j'ai un probleme, lors ce que je teste et je rentre le


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales