Bon, le but de la manip : effacer un cercle dessiné précédemment sur un TImage.Pour celà je réutilise la formule pour tracer mon cercle avec cette fois Pen->Color=clWhite (ou un truc du genre).
Comment je procède :
Le centre du cercle est sauvé dans cooxy, variable(TPoint)de la classe coordonnees.
Lorsque j'arrive sur mon évènement onclick de mon TImage pour tracer mon cercle, la sauvegarde des coordonnées se passe correctement.
En revanche, dès que je sors de onclick pour y réentrer afin d'effacer le cercle, je rapelle cooxy et je me tape les coordonnées par défaut(constructeur) à savoir -1;-1 à la place de celle sauvegardée avant .
Code :
- class coordonnees
- {
- private:
- char nature[6];
- TPoint origine;
- TPoint destination;
- TPoint intermediaire[3];
- public:
- coordonnees()
- {
- strcpy(nature,"indef" );
- nature[5]='\0';
- origine.x=origine.y=destination.x=destination.y=-1;
- intermediaire[0].x=intermediaire[0].y=intermediaire[1].x=intermediaire[1].y=intermediaire[2].x=intermediaire[2].y=-1;
- };
- ~coordonnees(void){};
- void savexy(int action,TPoint inter[3]);
- TPoint savexy(char natur[6],TPoint origin);
- void savexy(TPoint dest);
- TPoint find(TPoint origin);
- };
|
Code :
- /*On click*/
- if(couleur==clWhite) /*erase*/
- {
- GetCursorPos(¢re);
- centre.x=centre.x-(Form1->Left)-(Form1->EspaceTravail->Left)-4; // Calcul des coordonnées
- centre.y=centre.y-(Form1->Top)-(Form1->EspaceTravail->Top)-30;
- centre=cooxy.find(centre);
- }
- if (couleur==clBlue) /*trace*/
- {
- GetCursorPos(¢re);
- centre.x=centre.x-(Form1->Left)-(Form1->EspaceTravail->Left)-4; // Calcul des coordonnées
- centre.y=centre.y-(Form1->Top)-(Form1->EspaceTravail->Top)-30; // souris sur le canvas
- centre=cooxy.savexy(nature,centre);
- }
|
Code :
- TPoint coordonnees::savexy(char natur[6],TPoint origin)
- {
- strcpy(nature,natur);
- origin.x=origine.x;
- origin.y=origine.y;
- return origin;
- }
- TPoint coordonnees::find(TPoint origin)
- {
- /*test circle range*/
- if (origin.x<=origine.x+10 && origin.x>=origine.x-10)
- {
- if (origin.y<=origine.y+10 && origin.y>=origine.y-10)
- {
- origin.x=origine.x;
- origin.y=origine.y;
- return origin;
- }
- else
- {
- /*a définir*/
- }
- }
- else
- {
- /*a definir*/
- }
-
- }
- -----
- coordonnees cooxy;
|
Merci de votre lecture (et de votre courage, cochon inside )
RésoluSujet : [ Borland ] Bug à l'affichage de l'interface ???
Voila, le problème est simple, je suis en plein dans le développement d'une appli et plus moyen d'ajouter un objet.
Je m'explique: je veux ajouter un bouton, je compile et tout passe niquel sauf que le bouton n'apparaît pas sur l'interface utilisateur.
J'ai verifié et forcé visible=true mais pas moyen.
Alors j'ai tenté de redimensionner ma TImage qui elle est présente depuis le début. Et bien elle est redimensionnée sous borland mais dès que je compile, elle reprends sa taille précédente sur l'interface utilisateur.
Pourtout je ne touche nulle part à ses attributs de taille en dehors de l'inspecteur d'objet.
Donc je me retrouve avec mon interface précédente quoi qu'il arrive...
Y à une case du genre vérouiller TForm ou quoi
Message édité par jeoff le 12-03-2004 à 15:32:05