Comment creer des rectangles de selection [dev-c++]

Contenu du snippet

Cette fonction vous permettra de Tracer des Rectangles de Sélection à la façon de Paint;
Remarque: Ce Code ne gère ni les agrandissement, ni les déplacements, ni les Curseurs de la souris, il trace
tout simplement un Rectangle en pointillés, qu'ainsi que ses petits rectangles de sélection.

- x est la Coordonnée X du Rectangle à traçer
- y est la Coordonnée Y du Rectangle à traçer
- longB est la Longueur du Rectangle
- largB est la Largeur du Rectangle

Source / Exemple :


void CreerRectangleSel( int x, int y, int longB, int largB )
{

PAINTSTRUCT Paint_Struct;
HPEN Stylo;
HBRUSH Pot;
HDC HdC;
HDC HdC2;
int xRect;
int yRect;

HdC = GetDC( HDialogue );
HdC2 = GetDC( HDialogue );

// Initialisation de Paint
BeginPaint( HDialogue, &Paint_Struct);

// Création du Stylo en pointillés
Stylo = CreatePen( PS_DOT, 1, RGB( 0, 0, 255 ));
// Création du pot de Peinture
Pot = CreateSolidBrush( RGB( 0, 0, 255 ));

// Sélection du Stylo pour...
SelectObject( HdC, Stylo );
// ...Tracer le Rectangle Principal en pointillés
Rectangle( HdC, x - 1, y - 1, x + longB + 2, y + largB + 2 );

// Destruction du Stylo
DeleteObject( Stylo );

// Sélection du Pot pour...
SelectObject( HdC2, Pot );
// Calculs des coordonnées
xRect = ((( x + longB + 2 ) / 2) + 2 );
yRect = (y - 4);
// ...Tracer le 1er Rectangle de Sélection
Rectangle( HdC2, xRect, yRect, xRect + 6, yRect + 6 );

// Calculs des coordonnées
yRect = (( y + largB + 2 )- 3);
// ...Tracer le 2ème Rectangle de Sélection
Rectangle( HdC2, xRect, yRect, xRect + 6, yRect + 6 );

// Calculs des coordonnées
xRect = (x - 4);
yRect = ((( y + largB + 2 ) / 2 ) + 4 );
// ...Tracer le 3ème Rectangle de Sélection
Rectangle( HdC2, xRect, yRect, xRect + 6, yRect + 6 );

// Calculs des coordonnées
xRect = (( x + longB + 2 )- 3);
// ...Tracer le 4ème Rectangle de Sélection
Rectangle( HdC2, xRect, yRect, xRect + 6, yRect + 6 );

// Destruction du Pot
DeleteObject( Pot );

// Ferme Paint
EndPaint( HDialogue, &Paint_Struct );

}

Conclusion :


Cette fonction ne génère aucuns bugs avec DEV-C++

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.