Accueil > > > [.NET 2] ORDONNANCEMENT ET AFFICHAGE D'EVENEMENT DANS LE TEMPS (COMME DANS OUTLOOK 2007)
[.NET 2] ORDONNANCEMENT ET AFFICHAGE D'EVENEMENT DANS LE TEMPS (COMME DANS OUTLOOK 2007)
Information sur la source
Description
Ce code a pout but de répondre à une question du forum : (lisez la conclusion ^^) http://www.vbfrance.com/infomsg_ARRANGEMENTS-R ECTANGLES_970466.aspx cela explique pourquoi je n'ai pas fait d'interface utilisateur je laisse le soins a ceux qui en auront besoin de changer la methode "DrawEvenement" de la classe en question ainsi que tout le reste.
Source
- //Tri des différents evenement :
- internal void Organiser()
- {
- Int32 nIndex;
- Boolean bClasse ;
- lstDernierParColonne.Clear();
- lstDernierParColonne.Add(lstEvenement[0].Fin);
- lstEvenement[0].Colonne = 1;
-
- for(nIndex = 1; nIndex <= lstEvenement.Count-1; nIndex++)
- {
- bClasse = false;
- lstEvenement[nIndex].Colonne = 1;
- while(!bClasse)
- {
- if ((lstEvenement[nIndex].Debut.Hour * 60 + lstEvenement[nIndex].Debut.Minute) < lstDernierParColonne[lstEvenement[nIndex].Colonne - 1])
- {
- lstEvenement[nIndex].Colonne++;
- if (lstDernierParColonne.Count < lstEvenement[nIndex].Colonne)
- {
- lstDernierParColonne.Add(lstEvenement[nIndex].Fin);
- bClasse = true;
- }
- }
- else
- {
- lstDernierParColonne[lstEvenement[nIndex].Colonne - 1] = lstEvenement[nIndex].Fin;
- bClasse = true;
- }
- }
- }
- }
-
-
-
-
-
- //Affichage
-
- public void DrawEvenement(Graphics grp)
- {
- SolidBrush brush = new SolidBrush(_clrCouleur);
- Pen pen = new Pen(Color.Black);
- grp.FillRectangle(brush, Parent.Location.X + (Parent.Largeur * (nColonne - 1)), Parent.Location.Y + (_dDebut.Hour * 60 + _dDebut.Minute) * Parent.Echelle / 30 - (Parent.OffSet * 60 * Parent.Echelle / 30), Parent.Largeur, ((_nDuree / 30) * Parent.Echelle));
- grp.DrawRectangle(pen , Parent.Location.X + (Parent.Largeur * (nColonne - 1)), Parent.Location.Y + (_dDebut.Hour * 60 + _dDebut.Minute) * Parent.Echelle / 30 - (Parent.OffSet * 60 * Parent.Echelle / 30), Parent.Largeur, ((_nDuree / 30) * Parent.Echelle));
- }
-
- //
//Tri des différents evenement :
internal void Organiser()
{
Int32 nIndex;
Boolean bClasse ;
lstDernierParColonne.Clear();
lstDernierParColonne.Add(lstEvenement[0].Fin);
lstEvenement[0].Colonne = 1;
for(nIndex = 1; nIndex <= lstEvenement.Count-1; nIndex++)
{
bClasse = false;
lstEvenement[nIndex].Colonne = 1;
while(!bClasse)
{
if ((lstEvenement[nIndex].Debut.Hour * 60 + lstEvenement[nIndex].Debut.Minute) < lstDernierParColonne[lstEvenement[nIndex].Colonne - 1])
{
lstEvenement[nIndex].Colonne++;
if (lstDernierParColonne.Count < lstEvenement[nIndex].Colonne)
{
lstDernierParColonne.Add(lstEvenement[nIndex].Fin);
bClasse = true;
}
}
else
{
lstDernierParColonne[lstEvenement[nIndex].Colonne - 1] = lstEvenement[nIndex].Fin;
bClasse = true;
}
}
}
}
//Affichage
public void DrawEvenement(Graphics grp)
{
SolidBrush brush = new SolidBrush(_clrCouleur);
Pen pen = new Pen(Color.Black);
grp.FillRectangle(brush, Parent.Location.X + (Parent.Largeur * (nColonne - 1)), Parent.Location.Y + (_dDebut.Hour * 60 + _dDebut.Minute) * Parent.Echelle / 30 - (Parent.OffSet * 60 * Parent.Echelle / 30), Parent.Largeur, ((_nDuree / 30) * Parent.Echelle));
grp.DrawRectangle(pen , Parent.Location.X + (Parent.Largeur * (nColonne - 1)), Parent.Location.Y + (_dDebut.Hour * 60 + _dDebut.Minute) * Parent.Echelle / 30 - (Parent.OffSet * 60 * Parent.Echelle / 30), Parent.Largeur, ((_nDuree / 30) * Parent.Echelle));
}
//
Conclusion
ce code ne se préoccupe pas de la date pour le moment meme si j'ai mit a la disposition des ascesseur du type "DateTime" il serrait de bonne augure de le gérer aussi en rajoutant des offsets et des largeurs pour les date comme le montré l'image mais ce n'est en rien qqchs d'obligatoire.
Peut être que j'ameliorerais le graphisme sous peu en utilisant des "brush" degradé avec des couleur un peux plus vives et un quadrillage de fond sur le form pour bien mettre en oeuvre cela mais pour le moment je tenais à apporter une reponse concrete à un pb. Je vous pris donc de tenir compte de cela avant de m'harponner ^^
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Ecrire dans un panel en GDI [ par iow4 ]
Bonjour, J'utilise le framework 2 avec VC#.J'ai inseré sur une winform un panel et j'aimerais tracer un rectangle par dessus Seulement lorsque le rect
calendrier [ par ange_sali ]
Bonsoir ; <P class=MsoNor
achever ce type deffet avec GDI+ C++ [ par realhabs ]
En explorant les possibilites des shader HLSL, je suis tombe sur un viewer directX Hamana graphics viewer : http://miyano.s53.xrea.com/bon ce au japon
Pb Rectangle de sélection et perte du focus [ par fcolo ]
Bonjour,j'ai une application dans laquelle j'affiche plusieur panel les uns à coté des autres.J'ai implémenté le fait que, lors d'un clic sur un panel
Sérialisation de Pen [ par nicolas100 ]
Bonjour,J'ai un soucis pour enregistrer une arraylist en utilisant la sérialisation binaire.Mon programme est un outil de dessin (genre Paint) qui per
Objet dans comboBox [ par ducker88 ]
Bonjour a tous,J'aimerai savoir s'il est possible de mettre un objet dans un comboBox, je m'explique, je voudrais pouvoir inserer un MonthCalendar dan
GDI datagrid [ par aquibad ]
Bonjour à tous,Depuis 3 jours je me bats avec l'affichage d'un datagrid .2 pb se posent à moi : Comment faire pour masquer le scrollbar vertical, c
que peut on faire avec le Directx et C# [ par CREZ59 ]
Bonjour à tous,Je vous savoir s'il est possible de créer des bouttons avec directx en 3D et implementer du code C# derriere les bouttons? Si oui, comm
calendrier [ par jon_the_vice ]
bonjour,je suis en train de développer une application pour écrans tactiles et j'ai besoin d'un calendrier pour sélectionner des dates (original non?)
Problème avec des Rectangles [ par Bidou ]
Bonjour à tous,Je dois faire un truc à priori assez simple, mais impossible d'y arriver. Le but est tout simplement de supprimer un rectangle d'un aut
|
Derniers Blogs
TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0PERSPECTIVE 3.0 POUR SILVERLIGHT 5.0 par odewit
Je viens de publier la version 3.0 de Perspective pour Silverlight, qui regroupe un portage sous Silverlight 5.0 des fonctionnalités de Perspective 2.0, le framework 3D de haut-niveau introduit récemment et de nouveaux exemples de code. En voici la li...
Cliquez pour lire la suite de l'article par odewit TECHDAYS PARIS 2012 : TOP 10 DES BEST PRACTICES POUR SQL SERVERTECHDAYS PARIS 2012 : TOP 10 DES BEST PRACTICES POUR SQL SERVER par ROMELARD Fabrice
Speaker : Nadia Ben El Kadi Configuration machine La session commence par la toute première question à se poser lors de la mise en place d'environnement SQL Server, la configuration des machines : Type de mac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : KINECT + OFFICE 365 UN BON GESTE POUR VOTRE SITECHDAYS PARIS 2012 : KINECT + OFFICE 365 UN BON GESTE POUR VOTRE SI par ROMELARD Fabrice
Speakers : Fabrice Barbin, Samuel Blanchard, Julien Lo Presti Titre Prometteur et attractif invitant à voir comment lier le composant ludique Kinect dans le cadre d'une structure IT classique, notamment au travers de la plat...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE DU PREMIER JOURTECHDAYS PARIS 2012 : PLEINIèRE DU PREMIER JOUR par ROMELARD Fabrice
KeyNotes du premier jour pour les développeurs. La session est principalement axée sur une des principales directions prise par Microsoft à travers tous ses nouveaux produits : Cloud privé ou public (Solution Azure) ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|