vboussema
Messages postés138Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention 1 septembre 2009
-
1 févr. 2008 à 12:30
vboussema
Messages postés138Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention 1 septembre 2009
-
2 févr. 2008 à 12:46
salut
j'aime dessiner un rectangle de selection sur un PictureBox situé dans un panel
et j'aime que la selection ne dépasse pas le picture box donc la méthode drowreversibleFrame ne marche pas(sinon avec modification)
et par la suite je veut que ce rectangle soi persistant jusqu'a le prochain click ;)
(et bien sure ne disparet pas si une forme vient audessus de celle ci)
merci pour l'aide
vboussema
Messages postés138Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention 1 septembre 2009 1 févr. 2008 à 20:03
salut;
merci pour la réponse je vai essayer mais je pense pas que sa va résoudre le problème mais éspérons bien que sa marche car il paret que toutes les méthodes de controlpaint déssine sur l'ecran et pas sur un control
vboussema
Messages postés138Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention 1 septembre 2009 1 févr. 2008 à 21:09
j'ai pas pu faire marcher ce truc en fait il ne dessine pas comme je veut si tu peut me donner un bout de code :(
privatebool _selecting = false;
private Point _selectionStartPoint = Point.Empty;
private Point _selectionEndPoint = Point.Empty;
private Rectangle _selectionRect = Rectangle.Empty;
// private Point _LastPoint = Point.Empty;
public Rectangle _LastselectionRect = Rectangle.Empty;
private Point _laststrart = Point.Empty;
private Point _lastend = Point.Empty;
{
//effacer le last
ControlPaint.DrawFocusRectangle(this.CreateGraphics(), _LastselectionRect, Color.Red, Color.Transparent);
// efface le rectangle de sléection précédent
// ControlPaint.DrawReversibleFrame(this._selectionRect, this.BackColor, SELECTION_STYLE);
// calcul du nouveau rectangle
this._selectionEndPoint = this.PointToScreen(new Point(e.X, e.Y));
this._selectionRect = new Rectangle(
this._selectionStartPoint.X,
this._selectionStartPoint.Y,
this._selectionEndPoint.X - this._selectionStartPoint.X,
this._selectionEndPoint.Y - this._selectionStartPoint.Y
);
// calcul du nouveau rectangle vrai ;)
_lastend =new Point(e.X, e.Y);
_LastselectionRect = new Rectangle(
_laststrart.X,
_laststrart.Y,
_lastend.X - _laststrart.X,
_lastend.Y - _laststrart.Y
);
////pour le rectangle de selection
//Graphics g = this.CreateGraphics();//.Graphics;
//Rectangle inner = _selectionRect;
//inner.Inflate(-2, -2);
//ControlPaint.DrawSelectionFrame(g, false, _selectionRect, inner, Color.Transparent);
// dessin du nouveau rectangle
//ControlPaint.DrawReversibleFrame(this._selectionRect, this.BackColor, SELECTION_STYLE);
//pour le focus
ControlPaint.DrawFocusRectangle(this.CreateGraphics(), _LastselectionRect, Color.Red, Color.Transparent);
}
}
if((this._selecting))
{
// efface le rectangle de sélection
//ControlPaint.DrawReversibleFrame(this._selectionRect, this.BackColor, SELECTION_STYLE);
//ControlPaint.DrawReversibleFrame(this._selectionRect, this.BackColor, SELECTION_STYLE);
ControlPaint.DrawFocusRectangle(this.CreateGraphics(),_LastselectionRect, Color.Red, this.BackColor);
_LastselectionRect = _selectionRect;
}
this._selecting = false;
}
seci ne marche pas aussi
il ne dessine rien
et quand je fait drawselectionframe il y a un movais affichage car il y a une suite de rectangle en plus la selection n'est pas inversibe donc comment gérer sa???
si vous pouvez me donner un bout de code car je parvient pas a résoudre ça et merci [auteur/SEBMAFATE/53675.aspx sebmafate]