Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
COMMENT CREER DES RECTANGLES DE SELECTION [DEV-C++]
Information sur la source
Description
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
- 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 );
-
- }
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++
Sources de la même categorie
Commentaires
|
|