begin process at 2010 02 10 08:38:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Graphics + ca deconne + Help


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

Graphics + ca deconne + Help

jeudi 24 mars 2005 à 10:22:14 | Graphics + ca deconne + Help

emmanuel9

Bonjour,

Un truc que j'ai pas pigé c'est que je dessine un objet graphics, il se dessine seulement si je le met dans l'evenement click d'un bouton ou autre. Si je le met dans Form1_Load il se dessine point.

Et en plus quand je deplace mon objet Graphics et que je le fais glisser en dehors de la zone d ecran, quand je le fais revenir il a tendance à s'effacer.

Quelqun aurait t'il une solution pour ces problèmes ?

Par avance, merci.
jeudi 24 mars 2005 à 10:34:50 | Re : Graphics + ca deconne + Help

coq

Administrateur CodeS-SourceS
Au moment où l'event Load est déclenché, le Form n'est pas encore affiché, donc tu dessines "dans le vide".
Et quand tu fait passer une autre fenetre au dessus de la tienne (ou que tu fait sortir la tienne de l'ecran), tu dois redessiner.



Cocoricoooooooo !!!!
coq
MVP Visual C#
jeudi 24 mars 2005 à 12:04:15 | Re : Graphics + ca deconne + Help

emmanuel9

merci coq, je dois dire que j'ai regler pas mal de problème grâce à toi, 1906 messages c'est sport quand même.

Si je dessine un cercle dans un panel il ne s'affichera par sur l'evenement form_load. Mais comment en faite forcer mon dessin à se redessiner ? en appellant la fonction dessine_dessin() à chaque fois que ma form bouge ?
jeudi 24 mars 2005 à 12:13:56 | Re : Graphics + ca deconne + Help

coq

Administrateur CodeS-SourceS
Sert toi plutôt de l'event Paint.
Et je te conseille de mettre en place un système de buffer : tu dessines tout tes cercles etc sur un Bitmap de la taille de ton Panel et ensuite tu dessines le Bitmap sur le Panel (Graphics.DrawImageUnscaled), ça évitera notamment l'effet de scintillement si tu as beaucoup d'éléments à dessiner.



Cocoricoooooooo !!!!
coq
MVP Visual C#
jeudi 24 mars 2005 à 12:19:58 | Re : Graphics + ca deconne + Help

emmanuel9

ok merci je vais essayer ça et une dernière petite question. Si je peux pas afficher mon dessin sur form1_load à quel moment je l'affiche si je veux qu'il s'affiche au demarrage de la form etant donné qu'il se passe rien après form_load comme evenement ?
jeudi 24 mars 2005 à 12:25:22 | Re : Graphics + ca deconne + Help

coq

Administrateur CodeS-SourceS
Maintenant tu vas te servir de l'event Paint du Panel, donc la première fois que celui ci est affiché l'event est déclenché, et donc ton code d'affichage sera appelé :-)



Cocoricoooooooo !!!!
coq
MVP Visual C#
jeudi 24 mars 2005 à 12:38:42 | Re : Graphics + ca deconne + Help

emmanuel9

ah ok, merci beaucoup, je vais faire ça alors.
jeudi 24 mars 2005 à 13:32:10 | Re : Graphics + ca deconne + Help

emmanuel9

j'ai essayé ta méthode et j'ai fais :


private: System::Void Form1_Load(System::Object * sender, System::EventArgs * e)

{

Graphics * pg = panel->CreateGraphics() ;

SolidBrush * br1 = new SolidBrush(Color::Black) ;

Pen * p = new Pen(br1,1) ;

// dessin du cadre

pg->DrawLine(p,2,2,630,2) ; // horizontal haut

pg->DrawLine(p,2,500,630,500) ; // horizontal basse

pg->DrawLine(p,2,2,2,500) ; // vertical gauche

pg->DrawLine(p,630,2,630,500) ; // vertical droite

// ligne horizontale du haut vers le bas

pg->DrawLine(p,2,60,630,60) ;

pg->DrawLine(p,2,100,630,100) ;

pg->DrawLine(p,2,140,630,140) ;

pg->DrawLine(p,2,180,630,180) ;

pg->DrawLine(p,2,220,630,220) ;

pg->DrawLine(p,2,260,630,260) ;

pg->DrawLine(p,2,300,630,300) ;

pg->DrawLine(p,2,340,630,340) ;

pg->DrawLine(p,2,380,630,380) ;

pg->DrawLine(p,2,420,630,420) ;

pg->DrawLine(p,2,460,630,460) ;

// ligne verticale de gauche à droite

pg->DrawLine(p,150,2,150,500) ;

pg->DrawLine(p,280,2,280,500) ;

pg->DrawLine(p,490,2,490,500) ;

b = new Bitmap(623,502,pg) ;

}

private: System::Void panel_Paint(System::Object * sender, System::Windows::Forms::PaintEventArgs * e)

{

e->Graphics->DrawImageUnscaled(b,623,502) ;

}

malheureusement les lignes que j'ai dessiné ne s'affiche pas, pourtant l'evenement panel_pain se declenche bien j'ai testé, je dois avoir une erreur qq part mais je vois  où...

jeudi 24 mars 2005 à 13:32:50 | Re : Graphics + ca deconne + Help

emmanuel9

je vois pas où plutot
jeudi 24 mars 2005 à 13:39:16 | Re : Graphics + ca deconne + Help

coq

Administrateur CodeS-SourceS
Constructeur Bitmap (Int32, Int32, Graphics)

Il faut créer le Graphics sur le Bitmap plutot :
b = new Bitmap(623, 502);
Graphics pg = Graphics.FromImage(b);
pb.DrawLine(...)
...




Cocoricoooooooo !!!!
coq
MVP Visual C#

1 2 3

Cette discussion est classée dans : help, objet, dessine, graphics, deconne


Répondre à ce message

Sujets en rapport avec ce message

Graphics et controls [ par michel_roger ] Salut tlm,Je suis en train de créer une sorte de tooltip avec ce code : Graphics help = this.CreateGraphics();Brush brush = System.Drawing.Brushes.Bla un evenement sur un objet Graphics [ par youess81 ] j ai un objet graphics dessiner evec DrawLine je vous ajouter un evenement click sur la ligne est ce que je peu ajouter un evenement personaliusé sur GDI + [ par Equinox84 ] Bonjour ! Est ce qu'il est possible de remplir un objet Graphics dans un objet externe de sa fenetre ? ex : public class maClass {     private User Locbits/Unlockbits et affichage [ par jpcohen0 ] Bonjour,voila je fais face a un petit probleme,j'essais de coder un petit "paint" en c# et je me suis apperçus que je devais utiliser du code non mana Objet help [ par eln_francois ] Bonjour,j'ai un objet :D je le remplis, puis avec cette objet remplis je dois appeller un fonction addUser.comment faire pour que sela fonctionne.... Graphics + Help [ par emmanuel9 ] Bonjour, J'ai un treeview remplis de personne et quand je clique sur une personne a droite,  je doit avoir des barres qui represente des nombres liées effacer une forme d'un Graphics [ par kyfranBibax ] Coucou, J'ai un petit problème avec un graphics. Lorsque je click dessus, je dessine une ellipse (jusque là ça va...). Ensuite, je refais la même op Graphics [ par emmanuel9 ] Bonjour à tous, J'ai un panel sur lequel je dessine un graphique. l'objet graphics fait la taille du panel et j'ai activé le doublebuffering sur la Bitmap + ca deconne + help [ par emmanuel9 ] Bonjour, Quelqun serait t'il comment créer un bitmap à partir d'une ressource ?ca ferait un truc du genre Bitmap * a = Bitmap::FromResource(0,"IDB_BI


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,390 sec (3)

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