OVH Cloud OVH Cloud

écrire du texte sur un bitmap

3 réponses
Avatar
Fred
Bonjour,

J'aurais besoin de votre aide....
J'ai crée dans mes resources une boîte de dialog dans laquelle j'ai placé
une image qui prend toute la place de la boîte et un static text.
J'aimerais que le fond de mon texte static soit transparent de manière à ce
que je puisse continuer à voir l'image dessous et pas un fond gris.
Quelqu'un aurait-il une idée?
Ma boîte de dialogue est créee modeless de la manière suivante:
CDlgStatus *hDlg = new CDlgStatus(); // CDlgStatus dérive de la classe
CDialog
hDlg->Create(IDD_STATUS,NULL);
hDlg->SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
hDlg->SetDlgItemText(IDC_STATUS, "Text Static"); // IDC_STATUS est l'ID
du Static Text

En vous remerciant d'avance,

Fred

3 réponses

Avatar
Dominique Baldo
Fred nous disait
Bonjour,

J'aurais besoin de votre aide....
J'ai crée dans mes resources une boîte de dialog dans laquelle j'ai placé
une image qui prend toute la place de la boîte et un static text.
J'aimerais que le fond de mon texte static soit transparent de manière à ce
que je puisse continuer à voir l'image dessous et pas un fond gris.
Quelqu'un aurait-il une idée?
Ma boîte de dialogue est créee modeless de la manière suivante:
CDlgStatus *hDlg = new CDlgStatus(); // CDlgStatus dérive de la classe
CDialog
hDlg->Create(IDD_STATUS,NULL);
hDlg->SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
hDlg->SetDlgItemText(IDC_STATUS, "Text Static"); // IDC_STATUS est l'ID
du Static Text


Je suis pas certain de répondre à la question mais ayant eu le même
blème j'avais résolu ça comme ça:
// A rajouter dans la boucle de traitement des messages:
// Gestion de la couleur de fond des controles
#define ORANGE 0x80C0F0

case WM_CTLCOLORSTATIC:
{
SetBkMode((HDC)wParam,TRANSPARENT);
SetTextColor((HDC)wParam,ORANGE);
return (int)Brush_du_fond;
}
Avatar
Christian ASTOR
Dominique Baldo wrote:

Je suis pas certain de répondre à la question mais ayant eu le même
blème j'avais résolu ça comme ça:



case WM_CTLCOLORSTATIC:
{
SetBkMode((HDC)wParam,TRANSPARENT);
SetTextColor((HDC)wParam,ORANGE);
return (int)Brush_du_fond;



Oui, c'est ça.
(on retourne en principe :
(LRESULT)GetStockObject(HOLLOW_BRUSH) pour ne pas avoir à créer de brush )
Avatar
Fred
Christian ASTOR wrote:
Dominique Baldo wrote:

Je suis pas certain de répondre à la question mais ayant eu le même
blème j'avais résolu ça comme ça:



case WM_CTLCOLORSTATIC:
{
SetBkMode((HDC)wParam,TRANSPARENT);
SetTextColor((HDC)wParam,ORANGE);
return (int)Brush_du_fond;



Oui, c'est ça.
(on retourne en principe :
(LRESULT)GetStockObject(HOLLOW_BRUSH) pour ne pas avoir à créer de
brush )



En effet, ça marche nickel.. Merci encore.

Fred