Accueil > Forum > > > > tracer une courbe à partir d'un tableau dans une fenêtre
tracer une courbe à partir d'un tableau dans une fenêtre
lundi 24 avril 2006 à 15:43:41 |
tracer une courbe à partir d'un tableau dans une fenêtre

jul41
|
Salut! je dois réaliser un projet dont une partie consiste à tracer une courbe caractérisant une force appliquée sur un capteur. J'essaie pour ça de faire d'abord simple en traçant une courbe à partir d'un tableau, mais la courbe n'apparaît pas... j'ai utilisé plusieurs infos du site mais sans résultat, si vous pouviez me dire ce qui ne va pas svp. j'ai quelques notions en c et c++ mais rien en api. une partie du programme est la suivante:
#include <Windows.h>
LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX principale; principale.cbSize=sizeof(WNDCLASSEX); principale.style=CS_HREDRAW|CS_VREDRAW; principale.lpfnWndProc=MainProc; principale.cbClsExtra=0; principale.cbWndExtra=0; principale.hInstance=hInstance; principale.hIcon=LoadIcon(NULL,IDI_APPLICATION); principale.hCursor=LoadCursor(NULL,IDC_ARROW); principale.hbrBackground=reinterpret_cast<HBRUSH>(COLOR_WINDOW+1); principale.lpszMenuName=NULL; principale.lpszClassName="std"; principale.hIconSm=LoadIcon(NULL,IDI_APPLICATION); RegisterClassEx(&principale);
HWND hWnd; hWnd=CreateWindowEx( WS_EX_CLIENTEDGE, "std", "fenetre", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); ShowWindow(hWnd,SW_SHOW);
MSG msg; while(GetMessage(&msg,NULL,0,0)==TRUE) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; }
LRESULT CALLBACK MainProc(HWND hWnd, UINT mes, WPARAM wParam, LPARAM lParam) { HDC hDC; PAINTSTRUCT paintst; switch (mes) { case WM_PAINT: hDC=BeginPaint(hWnd,&paintst); int tab[15]; int i; int value; int compteur; compteur=0; for(i=1;i<=15;i++) { tab[i]; } for(;;) { value=tab[compteur]; SetPixel(hDC,compteur,value,RGB(0,255,0)); //pixel de couleur verte compteur+=1; if(compteur==15) {break;} } EndPaint(hWnd,&paintst); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; default: return DefWindowProc(hWnd, mes, wParam, lParam); } }
|
|
lundi 24 avril 2006 à 17:38:11 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

Taron31
|
Salut, je veux pas dire de bêtises mais il me semble que tu devrais plutôt appliquer les appels de fonctoins SetPixel sur un HDC mémoire, pour créer ce MemDC utilise CreateCompatibleDC et n'oublie pas de le libérer avec DeleteDC a la fin du WM_PAINT. Et pour finir tu appliques un BitBlt à partir de ton MemDC sur ton hDC, ce qui aura normalement pour effet d'appliquer les pixels sur la surface client. En espérant t'avoir aider...
___________________ MVS - Most Valuable Student ( Microsoft)
|
|
lundi 24 avril 2006 à 20:43:24 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre
|
lundi 24 avril 2006 à 21:20:57 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

jul41
|
merci pour la reponse, mais je comprends pas tres bien comment et quand on se sert de BitBlt, qu'est-ce qu'il faut lui mettre dans la parenthèse?
|
|
lundi 24 avril 2006 à 21:45:26 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

Taron31
|
Vas voir sur MSDN : [ Lien ] ___________________ MVS - Most Valuable Student ( Microsoft)
|
|
lundi 24 avril 2006 à 21:59:50 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

jul41
|
j'ai changé une partie du programme en m'inspirant de différentes discussion, et ca donne ça (mais ca ne fonctionne toujours pas...):
PAINTSTRUCT paintst; HDC hDC; HDC hMemDC; switch (mes) { case WM_PAINT: hDC=BeginPaint(hWnd,&paintst); hMemDC=CreateCompatibleDC(hDC); int tab[15]; int i; int value; int compteur; compteur=0; for(i=1;i<=15;i++) { tab[i]; } for(;;) { value=tab[compteur]; SetPixel(hMemDC,compteur,value,RGB(0,255,0)); //pixel de couleur verte BitBlt(hDC,0,0,100,100,hMemDC,0,0,SRCCOPY); compteur+=1; if(compteur==15) {break;} } DeleteDC(hMemDC); EndPaint(hWnd,&paintst); return 0;
si vous voyez une erreur...
|
|
lundi 24 avril 2006 à 22:43:41 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

Taron31
|
Il faut juste mettre le SetPïxel dans ta boucle for(;;) et ensuite avant le DeleteDC tu fais le BitBlt...
___________________ MVS - Most Valuable Student ( Microsoft)
|
|
lundi 24 avril 2006 à 22:59:07 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

jul41
|
mais le SetPixel est déjà dans la boucle for(;;), et si je mets le BitBlt juste avant le DeleteDC, ça ne marche tjs pas...
for(;;) { value=tab[compteur]; SetPixel(hMemDC,compteur,value,RGB(0,255,0)); //pixel de couleur verte BitBlt(hDC,0,0,100,100,hMemDC,0,0,SRCCOPY); compteur+=1; if(compteur==15) {break;} } DeleteDC(hMemDC); EndPaint(hWnd,&paintst); return 0;
|
|
lundi 24 avril 2006 à 23:03:10 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

Taron31
|
T'as essaye ça :
for(;;) { value=tab[compteur]; SetPixel(hMemDC,compteur,value,RGB(0,255,0)); //pixel de couleur verte compteur+=1; if(compteur==15) {break;} } BitBlt(hDC,0,0,100,100,hMemDC,0,0,SRCCOPY); DeleteDC(hMemDC); EndPaint(hWnd, &paintst);
? ___________________ MVS - Most Valuable Student ( Microsoft)
|
|
lundi 24 avril 2006 à 23:09:20 |
Re : tracer une courbe à partir d'un tableau dans une fenêtre

jul41
|
oui c ça que j'ai essayé, excuse moi pour le dernier message, j'ai fait bêtement un copier coller sans rien changer...
|
|
Cette discussion est classée dans : int, compteur, hwnd, principale, hinstance
Répondre à ce message
Sujets en rapport avec ce message
[C++]Problème de pointeur ou de liste chainee [ par Arkko ]
Bonjour... J'essaye de convertir une liste chainée du site en une liste chainée demandant comme parametre un new par exemple ajouter(new Test);Cela f
Erreur incompréhensible et insoluble pour moi.... [ par jb60 ]
Voilà, je vais inscrire le source que j'ai tapé (une partie du source plutôt). J'ai l'impression que tout est correct, mais le compilo me fait une err
new - debug / release [ par magic_Nono ]
PB du new.... alors que ça passe avec des alloc classiquesOn me conceil d'utiliser des new plutot que des malloc en C++très bien maisvoici un petit mo
pb avec fonctions sqrt de math.h [ par fox88 ]
voici mon code : void histod::calcul_moyenne_ecartype(){ //CALCUL MOYENNE DU NB D'APPELS MOYEN JOURNALIER unsigned long accu=0; int moyenne=0;<br
comment recuperer des données chiffrées contenues dans une editbox ? [ par pidoumtimo ]
Bonjour a tous.Je suis actuellement sur un pgm permettant de faire des calcul a partir de donnée insérées par un utilisateur sous forme de chiffres da
Apeler Fonction WINAPI [ par tontonjab ]
voila, je voudrais apeler une fonction de type:INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR cmdline, INT )seulement, comme jutilise MFC je ne
Affichage avec API Windows [ par PunkDude424 ]
Bon j'ai un problème avec l'affichage à l'aide de L'api win32Je suis débutant en la matière et j'ai le problème suivant.J'ai une application client se
WIN32 Dev-cpp: Le bouton refuse d'afficher le bitmap [ par gekkko ]
Bonjour!Je n'arrive pas à faire afficher un bitmap sur un bouton CreateWindow.Le bitmap se charge pourtant bien puisque le .EXE grossit.La compilation
Probleme : error LNK2001: unresolved external symbol... [ par Mr.X ]
Tous d'abor bonjour, quand je compile mon programme (visual c++ 6.0), il m'affiche cette erreur, ece que quelqu'un pourrais l'aider ? :Main.obj : erro
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|