Porbleme je comprend pas...

JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005 - 19 juin 2003 à 16:13
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005 - 19 juin 2003 à 21:03
Bon alors je regarde sur msdn et je trouve la fonction que je voulais:
SetDCPenColor
elle permet de changé la couleur du pen...

Bon je l'utilise donc et la il me met:
E:\ROX\Menu2\Menu2.cpp(36) : error C2065: 'SetDCPenColor' : undeclared identifier
Alors que dans la doc msdn:
Header: Declared in Wingdi.h; include Windows.h.
et j'ai bien mis les header qu'il fallait.. je comprend pas:(

JackosKing For EvEr
A voir également:

11 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juin 2003 à 16:34
tu es sur VC 6 je pense, alors tu mets cela tout en haut avant quoi que ce soit:
#define WINVERS 0x500
BruNews, ciao...
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
19 juin 2003 à 16:34
Certainement un problème avec ton système d'exploitation. Voila ce qu'on peut lire dans la MSDN:

Requirements
Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Unsupported.

Kaid - kaid.fr.st
0
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
19 juin 2003 à 16:47
bon je suis en effet sous winXP avec vc++ 6
l'ajout du define n'a rien changé au probleme:(
Existe t'il une alternative pour changé la couleur pour dessiner avec LineTo?

thx

JackosKing For EvEr
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juin 2003 à 16:54
c'est pas le prob, DOIT fonctionner. Faut que je me souvienne car je n'ai plus de VC 6.
Quand je trouve je te le mets.
BruNews, ciao...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juin 2003 à 16:56
#define WINVER 0x500
y avait un S en trop.
BruNews, ciao...
0
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
19 juin 2003 à 17:13
bon j'ai toujours le meme probleme..
je poste la source entiere:
#define WINVER 0x500
#include "windows.h"

#define height 600
#define width 200
// -------------------------------------------------------------------------
// WndProc
// -------------------------------------------------------------------------
// Parameter : HWND hwnd = Handle de fenêtre
// UINT message = ID de message
// UINT wParam = 1. paramètre
// LONG lParam = 2. paramètre
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Valeur de retour : 0 = Pas d'erreur
// -------------------------------------------------------------------------
HBRUSH hbr;

long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam)
{
switch (message)
{
case WM_ERASEBKGND:
return 0;

case WM_PAINT:
{
HDC hDC;
RECT rcClient;
PAINTSTRUCT ps;
POINT a;
GetClientRect(hwnd,&rcClient);
hDC=BeginPaint(hwnd,&ps);

FillRect(hDC, &rcClient, hbr);

SetDCPenColor(hDC,RGB(200,200,200));
// SetPenColor(hDC,15);
MoveToEx(hDC,0,0,&a);
LineTo(hDC,0,height-1);
LineTo(hDC,width-1,height-1);
LineTo(hDC,width-1,0);
LineTo(hDC,0,0);

SetTextColor(hDC,0);
SetBkMode(hDC,TRANSPARENT);
//SetBkColor(hDC,RGB(255,255,255));
SetTextAlign(hDC,TA_CENTER|TA_TOP);
TextOut(hDC,(int)((float)rcClient.right/2),5,"text",strlen("text"));
SetPixel(hDC,1,1,RGB(0,0,255));
EndPaint(hwnd,&ps);
// ReleaseDC(hwnd,hDC);
return 0;
}

case WM_DESTROY:
PostQuitMessage(0);
return 0;

default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
}

// -------------------------------------------------------------------------
// WinMain: Programme principal
// -------------------------------------------------------------------------
// Paramètre :
// hInstance: Handle de cette instance
// hPrevInstance: Handle de la dernière instance démarrée
// lpCmdLine: paramètre de ligne de commande
// nShowCmd: evtl. autres paramètres d'appel
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Valeur de retour : 0 = pas d'erreur
// -------------------------------------------------------------------------

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
// Variables
static char szClassName[] = "Menu"; // Nom de la classe de fenêtre
WNDCLASSEX winclassex; // Structure de classe de fenêtre
HWND hwnd; // Handle de fenêtre
MSG msg; // Structure de message
hbr = CreateSolidBrush(RGB(255,255,255));


// Existe-t-il déjà une instance en exécution de cette application?
// Si non : Remplir les composants de la structure winclassex

if (!hPrevInstance)
{
winclassex.cbSize = sizeof(winclassex);
winclassex.style = CS_BYTEALIGNCLIENT;
winclassex.lpfnWndProc = WndProc;
winclassex.cbClsExtra=0;
winclassex.cbWndExtra=0;
winclassex.hInstance=hInstance;
winclassex.hIcon=LoadIcon(NULL,IDI_APPLICATION);
winclassex.hCursor=LoadCursor(NULL,IDC_ARROW);
winclassex.hbrBackground=(HBRUSH) GetStockObject( WHITE_BRUSH );
winclassex.lpszMenuName=NULL;
winclassex.lpszClassName=szClassName;
winclassex.hIconSm = LoadIcon( NULL, IDI_APPLICATION );

RegisterClassEx(&winclassex); // Enregistrement de la classe
}

// Créer nouvelle fenêtre en enregistrer handle

hwnd=CreateWindow(szClassName,
" ",
WS_POPUP | WS_VISIBLE,
100, //x
100, //y
width, //Wudth
height, //height
NULL,
NULL,
hInstance,
NULL);

// Afficher nouvelle fenêtre et immédiatement actualiser

ShowWindow(hwnd, nShowCmd);
UpdateWindow(hwnd);

// Exploiter les messages
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg); // Convertir message
DispatchMessage(&msg); // Envoyer message à la fonction de message
}

return 0;
}
JackosKing For EvEr
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juin 2003 à 17:40
#define _WIN32_WINNT 0x500
ce coup ci doit etre bon
BruNews, ciao...
0
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
19 juin 2003 à 19:25
En effet ca marche, merci beaucoup :)
JackosKing For EvEr
0
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
19 juin 2003 à 19:37
Heu je comprend pas pourquoi le programme de la source que j'ai mise dans ce thread prend 1.2 Mo en ram !!!!!
comment ca se fait.. d'ailleur ca prend autant de ram si je met une petit denetre (20,60) qu'une grande!!

JackosKing For EvEr
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juin 2003 à 19:46
tu es certain de tes mesures ???
Taille de la fenetre ne doit pas influencer ici vu que tu ne crees pas de memdc ou autre.
Effectue les memes mesures sur d'autres progs pour comparer.
BruNews, ciao...
0
JackosKing Messages postés 168 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 21 avril 2005
19 juin 2003 à 21:03
Oui j'ai refait mes mesures: 1716Mo en ram...
c'est enorme..
JackosKing For EvEr
0
Rejoignez-nous