BeginPath et TextOut

Signaler
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004
-
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004
-
salut,
Voilà un morceau du code:
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hwnd,&ps);
SetBkMode(hdc,TRANSPARENT);
BeginPath(hdc);
TextOut(hdc, 0, 0,"Test sur TextOut", 16);
EndPath(hdc);
int nbPath=GetPath(hdc,0,0,0);
EndPaint(hwnd,&ps);
break;
}
Le problème est que nbPath 0, alors que si je remplace TextOut par Rectangle(hdc,5,5,100,150), nbPath 4.
Est-ce que BeginPath fonctionne avec TextOut ?
Si oui, comment faire?
D'avance, merci pour votre aide
Bye,Xentor609

2 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
oui si tu fais un SelectClipRgn() sur ton hdc ou autre operation de ce genre.
Regarde BeginPath dans msdn, tu as un exemple complet.
BruNews, ciao...
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

salut,
Mon but est de faire un OSD (On Screen Display).
Au départ, j'ai essayé avec une fenêtre invisible (c'était le projet noel1999 que tu m'avais envoyé) mais ca ne marchait pas comme je le souhaitais.
Ensuite je suis tombé par harsard sur des exemples qui utilisaient les régions. En fouillant un peu dans MSDN, je pensais que le code allait ressembler à çà:
BeginPath(hdc); 
TextOut(hdc, 0, 0, "OSD", 3); 
EndPath(hdc); 
HRGN hRegion=PathToRegion(hdc);
SetWindowRgn(hwnd, hRegion, 1);

Oui, mais le problème est que hRegion est null.
Bye,Xentor609