User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Programación en C++ Builder

 Tableaux (tableaux)
 Pointeurs
3. Exemple de la classe en c + +
8. méthodes de la classe AnsiString
 C + +
 Paquets, de distribuer une application sans installation
 Exchange ou le tri des bulles
 Fonctions de chaîne string.h

11.3. Dérivé de TControl

OnClick

L'événement se produit lorsque vous faites un clic sur un contrôle.

Classes __property:: TNotifyEvent OnClick = {read = FOnClick, écrire = FOnClick};

 void __fastcall TForm1:: CheckBox1Click (TObject * Sender)
{
PageControl1-> ActivePage-> Visible = CheckBox1-> Checked;
} 


OnDblClick

L'événement se produit lorsque vous effectuez un double-clic d'un contrôle.

 Classes __property:: TNotifyEvent OnDblClick = {read = FOnDblClick, écrire = FOnDblClick}; 

Cet exemple avertit l'utilisateur que c'était la forme double-cliqué.

 void __fastcall TForm1:: FormDblClick (TObject * Sender) 

{
Application-> MessageBox ("Vous double-clique sur la forme", "Double-cliquez sur le message", MB_OK);
}


OnDragDrop

Qui se passe lorsque l'utilisateur remplit le glisser-déposer pour dessiner un objet sur ​​le formulaire (il tombe de l'objet dans le contrôle en relâchant le bouton de la souris). Vous pouvez répondre à cet événement lorsque le formulaire est prêt à soutenir glisser-déposer.

 __fastcall typedef void (* __closure TDragDropEvent) (System:: TObject * Sender, System:: TObject * Source, int X, int Y);
__property TDragDropEvent OnDragDrop = {read = FOnDragDrop, écrire = FOnDragDrop}; 

Les paramètres X et Y sont les coordonnées de la position de la souris sur le contrôle.


OnDragOver

Il se produit lorsque vous déplacez le pointeur de la souris sur le contrôle tout en attirant l'objet avec la souris. Vous pouvez répondre à cet événement lorsque le formulaire est prêt à soutenir glisser-déposer.

 enum {dsDragEnter TDragState, dsDragLeave, dsDragMove}
__fastcall typedef void (* __closure TDragOverEvent) (System:: TObject * Sender, System:: TObject * Source, int X, int Y, TDragState État, bool & Accepter);
__property TDragOverEvent OnDragOver = {read = FOnDragOver, écrire = FOnDragOver}; 

TdragState indique l'état du contrôle par rapport à un autre contrôle. Les cas possibles sont:

Valeur Signification
dsDragEnter
La souris entre dans le contrôle.
dsDragMove
Comme la souris se déplace sur le contrôle.
dsDragLeave
La souris quitte le contrôle.


OnMouseDown

Se produit lorsque l'utilisateur clique sur un bouton de la souris lorsque le pointeur de la souris survole le contrôle.

 enum {mbLeft TMouseButton, mbRight, mbMiddle};

enum {Classes__1 ssShift, SSALT, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble};
typedef TShiftState Septembre;

__fastcall typedef void (* __closure TMouseEvent) (System:: TObject * Sender, TMouseButton Button, Classes:: TShiftState Shift, int X, int Y);

__property TMouseEvent OnMouseDown = {read = FOnMouseDown, écrire = FOnMouseDown}; 

paramètres Shift répondre aux touches de déplacement et les boutons de la souris. touches Shift sont les Shift, Ctrl et Alt X et Y sont les coordonnées en pixels du pointeur de la souris dans la zone client de l'expéditeur.

Suivant l'exemple requiert un formulaire avec une barre d'état panneaux-quatre. (Réglage de la largeur des panneaux d'état à 150 Avant d'exécuter cet exemple). Lorsque l'utilisateur appuie sur un bouton de la souris, déplace la souris, et relâche le bouton de la souris, un rectangle est dessiné sur le formulaire. Lorsque le bouton de la souris est relâché, le rectangle apparaît sur ​​le formulaire de la toile. Sa gauche et en bas à droite coins supérieurs sont définis par l'emplacement du pointeur de la souris lorsque l'utilisateur a appuyé et relâché le bouton de la souris. Bien que l'utilisateur fait glisser la souris, l'emplacement du haut, à gauche, en bas, et à droite du rectangle sont affichés dans la barre d'état.

 startx int, StartY / / Declare en haut de l'unité de la forme de

/ / Utilisez ce code que le gestionnaire d'événements OnMouseDown de la forme:

void __fastcall TForm1:: Button1MouseDown (TObject * Sender, Button TMouseButton, TShiftState Shift, int X, int Y) {
	StartX = X;
	StartY = Y;
}

/ / Utilisez ce code que le gestionnaire d'événements OnMouseUp de la forme:

void __fastcall TForm1:: FormMouseUp (TObject * Sender, Button TMouseButton, TShiftState Shift, int X, int Y) {
	Form1-> Rectangle toile-> (StartX, StartY, X, Y);
	Panneaux StatusBar1-> [0] - Texte> = "";
	Panneaux StatusBar1-> [1] - Texte> = "";
	Panneaux StatusBar1-> [2] - Texte> = "";
	Panneaux StatusBar1-> [3] - Texte> = "";

}

/ / Utilisez ce code que le gestionnaire d'événements OnMouseMove de la forme:

void __fastcall TForm1:: FormMouseMove (TObject * Sender, TShiftState Shift, int X, int Y)
{
if (Shift.Contains (ssLeft)) / / faire bouton-vous est en baisse
{
si (Y> StartY) {
	Panneaux StatusBar1-> [0] - Texte> = "Top:" + IntToStr (StartY)
	Panneaux StatusBar1-> [2] -> Texte = "En bas:" + IntToStr (Y);
}
else {
	Panneaux StatusBar1-> [0] - Texte> = "Top:" + IntToStr (Y);
	StatusBar1.Panels [2] Text = "En bas:". IntToStr + (StartY)
}
if (X> StartX) {
	Panneaux StatusBar1-> [1] -> Texte = "Gauche:" + IntToStr (startx)
	Panneaux StatusBar1-> [3] - Texte> = "A droite:" + IntToStr (X);
}
else {
	Panneaux StatusBar1-> [1] -> Texte = "Gauche:" + IntToStr (X);
	Panneaux StatusBar1-> [3] -> Texte: = "A droite:" + IntToStr (startx)
}
}
} 


OnMouseMove

Se produit lorsque l'utilisateur déplace la souris alors que le pointeur de la souris survole le contrôle.

 enum {Classes__1 ssShift, SSALT, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble};
typedef TShiftState Septembre;

__fastcall typedef void (* __closure TMouseMoveEvent) (System:: TObject * Sender, Classes:: TShiftState Shift, int X, int Y);

__property TMouseMoveEvent OnMouseMove = {read = FOnMouseMove, écrivez
= FOnMouseMove}; 

paramètres Shift répondre aux touches de déplacement et les boutons de la souris. touches Shift sont les Shift, Ctrl et Alt X et Y sont les coordonnées en pixels du pointeur de la souris dans la zone client de l'expéditeur.

Après les deux étiquettes quand code met à jour le pointeur de la souris est déplacée. Vous avez le code suppose deux étiquettes sur la forme, et lbHorz lbVert. Si vous attachez ce code à l'événement OnMouseMove d'un formulaire, lbHorz affiche continuellement la position horizontale du pointeur de la souris, et lbVert affiche continuellement la position verticale du pointeur de la souris alors que le pointeur se trouve sur le formulaire.

 void __fastcall TForm1:: FormMouseMove (TObject * Sender, TShiftState Shift, int X, int Y)
{
	xpos char [10];
	ypos char [10];

	itoa (X, xpos, 10);
	itoa (Y, ypos, 10);

	Légende lbHorz-> = xpos;
	Légende lbVert-> = ypos;
} 


OnMouseUp

Se produit lorsque l'utilisateur relâche le bouton de la souris est pressé pointeur de la souris cusando est sur ​​le contrôle.

 enum {mbLeft TMouseButton, mbRight, mbMiddle};

enum {Classes__1 ssShift, SSALT, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble};
typedef TShiftState Septembre;

__fastcall typedef void (* __closure TMouseEvent) (System:: TObject * Sender, TMouseButton Button, Classes:: TShiftState Shift, int X, int Y);

__property TMouseEvent OnMouseUp = {read = FOnMouseUp, écrire = FOnMouseUp}; 

paramètres Shift répondre aux touches de déplacement et les boutons de la souris. touches Shift sont les Shift, Ctrl et Alt X et Y sont les coordonnées en pixels du pointeur de la souris dans la zone client de l'expéditeur.

Le code suivant dessine un rectangle Lorsque l'utilisateur appuie sur un bouton de la souris, déplace la souris, et relâche le bouton de la souris. Lorsque le bouton de la souris est relâché, le rectangle apparaît sur ​​le formulaire de la toile. Sa gauche et en bas à droite coins supérieurs sont définis par l'emplacement du pointeur de la souris lorsque l'utilisateur a appuyé et relâché le bouton de la souris.

 startx int, StartY / / Declare dans la section interface de l'unité formulaire

void __fastcall TForm1:: FormMouseDown (TObject * Sender, Button TMouseButton, TShiftState Shift, int X, int Y)
{
	StartX = X;
	StartY = Y;
}
void __fastcall TForm1:: FormMouseUp (TObject * Sender, Button TMouseButton, TShiftState Shift, int X, int Y)
{
	Form1-> Rectangle toile-> (StartX, StartY, X, Y);
} 
Loading
copyright © 2007-2025  www.alciro.org  All rights reserved.         
Share |