begin process at 2012 05 28 12:59:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

[Api Windows]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Api Windows]

vendredi 27 novembre 2009 à 17:38:53 | [Api Windows]

fender6

Salut,

J'aimerais tracer une ligne dans ma fenêtre que j'ai définie comme ceci : ;)

Code C/C++ :
HWND fenetre1 = CreateWindowEx(WS_EX_STATICEDGE, "edit","...",WS_OVERLAPPED |WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY ,235, 130, 530, 365, fenetrePrincipale, NULL, instance, NULL);


grâce a la fonction :
[/code]
Code C/C++ :
void dessineLigne (HWND fenetreCiblee, const RECT dimensions, HPEN crayon)
{
        //Déclarations préalables + récupération de la surface de dessin
        PAINTSTRUCT ps;
        HDC dc = BeginPaint(fenetreCiblee, &ps);

        //Application du crayon sur le dc
        SelectObject(dc, crayon);

        //Dessin de la ligne
        MoveToEx(dc, dimensions.left, dimensions.top, NULL);
        LineTo(dc, dimensions.right, dimensions.bottom);

        //Libération de la surface + fin du dessin
        EndPaint(fenetreCiblee, &ps);

        return;
}


J'appelle donc cette fonction comme ceci :
[/code]
Code C/C++ :
RECT dimensions;
dimensions.left = 10 ;
dimensions.right = 50;
dimensions.top = 50;
dimensions.bottom = 50;

HPEN hpen; // création d'un crayon
hpen = CreatePen(PS_SOLID, 10, RGB(0, 255, 0)); //epaisseur 10
SelectObject(hdc, hpen);

dessineLigne (fenetre1, dimensions, crayon);



Cependant ma ligne ne s'affiche pas :(

Avez vous une idée pour m'aider .
Ou de m'indiquer où est le problème .

Merci
vendredi 27 novembre 2009 à 17:49:32 | Re : [Api Windows]

fregolo52

Membre Club
essaie d'utiliser :
InvalidateRec(hwnd,NULL,TRUE)
UpdateWindow(hwnd)

Pour forcer l'affichage
vendredi 27 novembre 2009 à 17:58:43 | Re : [Api Windows]

fender6

Non ça ne change rien

Merci quand même pour ta réponse

vendredi 27 novembre 2009 à 18:11:48 | Re : [Api Windows]

BruNews

Administrateur CodeS-SourceS
Mets un STATIC au lieu d'un EDIT, devrait aller mieux.
Ensuite tu sous classes ce STATIC pour lui réécrire son WM_PAINT dans lequel tu mettras le code de ta fonction.

ciao...
BruNews, MVP VC++
vendredi 27 novembre 2009 à 21:01:51 | Re : [Api Windows]

fender6

Salut BruNews,

Tout d abord merci pour le temps que tu passes a m'aider .

J'ai suivi ton conseil et j'ai mis ma fenetre en static , cela a eu pour effet de la coloré en gris j'ignore si cela et normal.

Etant donné que je debute dans l'api windows je voudrais savoir ce que tu entends par :


tu sous classes ce STATIC pour lui réécrire son WM_PAINT



J'espère que tu pourras m'aider

a+

vendredi 27 novembre 2009 à 21:24:57 | Re : [Api Windows]

BruNews

Administrateur CodeS-SourceS
On change l'adresse de la callback par défaut de traitement des messages pour qu'il pointe vers une fonction perso.
Un truc dans ce genre:
WNDPROC OldProcEdNum;
LRESULT CALLBACK EdProcNoPaste(HWND hwnd, UINT mssg, WPARAM wParam, LPARAM lParam)
{
if(mssg == WM_PASTE) {MessageBeep(0); return 0;}
return CallWindowProc(OldProcEdNum, hwnd, mssg, wParam, lParam);
}
Fenetre parent à l'init:
case WM_INITDIALOG:
OldProcEdNum = (WNDPROC) SetWindowLongPtr(hednum, GWLP_WNDPROC, (LONG_PTR) EdProcNoPaste);

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : code, dc, dimensions, crayon, hpen


Répondre à ce message

Sujets en rapport avec ce message

erreur GetWindowRect() [ par minet03 ] Coucou les amis J'ai un petit prob avec la fonction GetWindowRect(); Est ce qu'elle retourne les dimensions totale de la fenêtre (DC + TitleBar + ... Dimensions fenetre [ par coockiesch ] Hello et re-hello!!!Je cherche à adapter la taille d'un controle à la taille d'une fenetre lors de la création de celui-ci.Voici mon code (dans WM_CRE Recherche Code C pour controller chenillard sur port série [ par nericlapoche ] Salut !Je recherche un code source en C (C++) pour controller un chenillard par le port série ou quelque chose qui s'en rapproche.Merci d'avance problèeme avec fscanf() [ par xkindool ] Désolé de poster un message pour si peu mais je n'arrive pas a débugger :/Mon prog ne marche pas, il est simplement censé afficher les lignes d'un fic Probleme de caractere dans un tableau [ par byoushin ] Bonjour,J'ai un tableau a 2 dimensions qui ressemble a ca :0 1 2 3 4 5 6 7 8 91 0 0 0 0 0 0 0 0 02 0 0 0 0 0 0 0 0 03 0 0 0 0 0 0 0 0 04 0 0 0 0 winsock2.h [ par oeT ] A quoi sert exactement cette ligne de code ?#pragma comment(lib, "ws2_32.lib")Merci bienBfB Probleme avec winsock... [ par DeAtHCrAsH ] Salut,J'ai ca dans mon programme et ca me genere plein d'erreur du genre redefinition of struct ... etc : #include #pragma comment(lib,"ws WSAAsyncSelect ... [ par DeAtHCrAsH ] A quel endroit dans mon code dois-je appeller cette fonction ?...WSAAsyncSelect(m_Socket, hDlg, WM_SOCKET, FD_READ | FD_WRITE | FD_CONNECT | FD_CLOSE) recherche sur fingerprint [ par tdeganfr ] je souhaiterais avoir un code en visual c++ ,lequel code me permetrra d'enregistrer des empreintes digitales dans une base de donnée ou un dossier Problème de parent [ par chamomagik ] Je désire créer une combo box dans le code avec visual cpp mais je ne comprends pas ce qu'est un "pParentWnd".voici l'aide de MSDN que je ne comprends


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales