Afficher une chaine de caractere sur le bureu windows

Signaler
Messages postés
2
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
18 avril 2004
-
Messages postés
42
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
19 novembre 2010
-
J'aimerai savoir comment on affiche sune simple chaine de caracteres sur le bureau de windows.
voici mon cod emais ca marche pas : (je tatonne en prog win)
HWND bureau = FindWindow("Progman", "Program Manager");
//::LPPAINTSTRUCT t;
//ShowWindow(bureau, true);
HDC hdc=GetDC(bureau);
HDC dc= CreateCompatibleDC(hdc);
TextOut(dc, 50,10,"Bonjour ",34);
et ca n affiche rien...

8 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
Avec cela, tu plaques direct sur l'ecran mais ce n'est pas indique du tout, a part pour une blague.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
2
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
18 avril 2004

merci mais ca m aide pas beaucoup...
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Bon voila un exemple complet.
Compile (release) et teste.

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE x, PSTR y, int z)
{
HDC hdc, hMem;
RECT rect;
HBRUSH hbr;
HBITMAP hbmp;
BITMAP bitmap;
char szOut[60];
SIZE size; int cxFull GetSystemMetrics(SM_CXSCREEN), cyFull GetSystemMetrics(SM_CYSCREEN); rect.left rect.top 0; rect.bottom = cyFull; rect.right = cxFull / 3;
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
hbr = CreateSolidBrush(RGB(0, 0, 255));
SetBkMode(hdc, TRANSPARENT);
FillRect(hdc, &rect, hbr); DeleteObject(hbr);
rect.left = rect.right; rect.right *= 2;
hbr = CreateSolidBrush(RGB(255, 255, 255));
FillRect(hdc, &rect, hbr); DeleteObject(hbr); rect.left rect.right; rect.right cxFull; rect.top = 0; rect.bottom = cyFull;
hbr = CreateSolidBrush(RGB(255, 0, 0));
FillRect(hdc, &rect, hbr); DeleteObject(hbr); rect.left 0; rect.right cxFull;
strcpy(szOut, "De toutes les libertés humaines,");
GetTextExtentPoint32(hdc, szOut, strlen(szOut), &size); rect.top (cyFull / 2) - 100; rect.bottom rect.top + size.cy * 1.5;
DrawText(hdc, szOut, -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
strcpy(szOut, "la plus précieuse est l'indépendance de la patrie");
rect.top = rect.bottom; rect.bottom += (size.cy * 1.5);
DrawText(hdc, szOut, -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
strcpy(szOut, "Charles Maurras");
rect.top = rect.bottom; rect.bottom += (size.cy * 4);
DrawText(hdc, szOut, -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);

hbmp = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_LYS));
GetObject(hbmp, sizeof(BITMAP), &bitmap);
hMem = CreateCompatibleDC(hdc);
SelectObject(hMem, hbmp);
BitBlt(hdc, cxFull / 2 - bitmap.bmWidth / 2, 20, bitmap.bmWidth, bitmap.bmHeight, hMem, 0, 0, SRCCOPY);
DeleteDC(hMem); DeleteObject(hbmp);
DeleteDC(hdc);
return 0;
}

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Je realise qu'il va t'en manquer un morceau.
Si tu veux, poste un message prive avec mail ou t'envoyer l'ensemble.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
à la place de CreateDC("DISPLAY", NULL, NULL, NULL)
pourrait-on utiliser GetDC(0) ?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Normalement oui mais je n'ai jamais fait de cette maniere.
Donc a tester.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
C'est parti.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
42
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
19 novembre 2010
1
eh ca serait y possible d avoir la source complete nous aussi?
ca m interesse bien d apprendre a maitriser l ecriture sur ecran.
peut on definir des calques, comme dans gimp?
faire une fenetre transparente, dans laquelle on affiche des calques sur le bureau,
des icones sur differents plans, des menus, tout cela pourait se faire par le dessin ?

un bon tuto serait juste un rectangle blanc avec un texte noir dedans, que l on pourait cliquer ou deplacer.

Si un tuteur pouvait faire pousser cette idée...