begin process at 2008 07 19 09:10:43
1 212 728 membres
67 nouveaux aujourd'hui
14 165 membres club

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

Catégorie :.Net Niveau : Débutant Date de création : 04/04/2002 Date de mise à jour : 04/04/2002 06:06:17 Vu : 4 351

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

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++
  • signaler à un administrateur
    Commentaire de cmarsc le 04/04/2002 16:03:44

    Salut,

    J'ai testé le code (devc++4.01)  mais il n'est pas executable tel quel, il ne manquerait pas quelques lignes par hasard ???

    Pourrait-on avoir le reste SVP ! Monsieur ou Madame

    amicalement cmarsc

  • signaler à un administrateur
    Commentaire de Kephren le 04/04/2002 21:24:56

    Lol, ouais sans include et Winmain ca va pas marcher hein lol. Je pense que le but ici est de montrer la fonction pour le faire. Apres on l'incorpore sois même dans notre projet.

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS