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

Programación en C++ Builder

 Arrays (Arrays)
 Zeiger
3. Beispiel Klasse in C + +
8. AnsiString Klasse Methoden
 C + +-Projekte
 Pakete, verteilen eine Anwendung ohne Installation
 Börse sortieren oder Blase
 Zeichenfolgenfunktionen string.h

11.3. Abgeleitet von TControl

OnClick

Event tritt auf, wenn Sie steuern einen Klick auf eine.

__property Klassen:: TNotifyEvent OnClick = {read = FOnClick, schreiben = FOnClick};

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


OnDblClick

Event tritt bei der Ausübung einer Doppelklick auf eine Kontrolle.

 __property Klassen:: TNotifyEvent OnDblClick = {read = FOnDblClick, schreiben = FOnDblClick}; 

Dieses Beispiel benachrichtigt den Benutzer angeklickt wurde das Formular doppelklicken.

 void __fastcall TForm1:: FormDblClick (TObject * Sender) 

{
Application-> MessageBox ("Du Doppelklick auf das Formular", "Double-Click Message", MB_OK);
}


OnDragDrop

Passiert, wenn der Benutzer die Drag & Drop) Zeichnen Sie ein Objekt auf dem Formular (es fällt das Objekt in der Steuerung die Maustaste loslassen. Sie können dieses Ereignis reagieren, wenn das Formular bereit, Drag & Drop-Unterstützung.

 typedef void __fastcall (__closure * TDragDropEvent) (System:: TObject * Sender, System:: TObject * Quelle, int x, int y);
__property TDragDropEvent OnDragDrop = {read = FOnDragDrop, schreiben = FOnDragDrop}; 

Die Parameter X und Y sind die Koordinaten der Mausposition auf das Steuerelement.


OnDragOver

Es passiert, wenn man Zeiger mit der Maus über die Kontrolle beim Zeichnen des Objekts mit der Maus. Sie können dieses Ereignis reagieren, wenn das Formular bereit, Drag & Drop-Unterstützung.

 enum {TDragState dsDragEnter, dsDragLeave, dsDragMove}
typedef void __fastcall (__closure * TDragOverEvent) (System:: TObject * Sender, System:: TObject * Quelle, int x, int y, TDragState Staat, bool & Accept);
__property TDragOverEvent OnDragOver = {read = FOnDragOver, schreiben = FOnDragOver}; 

TdragState zeigt den Zustand der Kontrolle in Bezug auf ein anderes Steuerelement. Die möglichen Fälle sind:

Preis Bedeutung
dsDragEnter
Die Maus in die Kontrolle.
dsDragMove
Da die Maus über das Steuerelement bewegt.
dsDragLeave
Die Maus verlässt die Kontrolle.


OnMouseDown

Tritt ein, wenn der Benutzer eine Maustaste, wenn der Mauszeiger über dem Steuerelement.

 enum {TMouseButton mbLeft, mbRight, mbMiddle};

enum {Classes__1 ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble};
typedef TShiftState September;

typedef void __fastcall (__closure * TMouseEvent) (System:: TObject * Sender, TMouseButton Button, Klassen:: TShiftState Shift, int x, int y);

__property TMouseEvent OnMouseDown = {read = FOnMouseDown, schreiben = FOnMouseDown}; 

Shift-Parameter auf die Shift-Tasten und Maustasten reagieren. Shift-Tasten sind die Shift, Strg und Alt X und Y sind die Pixel-Koordinaten des Mauszeigers im Client-Bereich des Senders.

Nach dem Beispiel ist ein Formular mit einem Vier-getäfelten Bar-Status. (Legen Sie die Breite des Status Platten bis 150 vor dem Ausführen dieses Beispiel). Wenn der Benutzer eine Maustaste drückt, Maus bewegt sich das, und die Maustaste loslässt, Rechteck ist eine Form gezogen auf der. Wenn die Maustaste losgelassen wird, erscheint das Rechteck auf dem Formular Leinwand. Seine linke obere und untere rechte Ecken Taste definiert durch die Position des Mauszeigers Wenn der Benutzer gedrückt und wieder losgelassen mit der Maus. Während der Benutzer den Mauszeiger, den Standort der oben, links, unten, rechts und Seiten des Rechtecks ​​sind bar in der Statusleiste.

 int startx, StartY / / Deklariert an der Spitze des Formulars Einheit

/ / Verwenden Sie diesen Code als OnMouseDown Ereignishandler des Formulars:

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

/ / Verwenden Sie diesen Code als OnMouseUp Ereignishandler des Formulars:

void __fastcall TForm1:: FormMouseUp (TObject * Sender, Button TMouseButton, TShiftState Shift, int x, int y) {
	Form1-> Canvas-> Rectangle (startx, StartY, X, Y);
	StatusBar1-> Panels [0] -> Text = "";
	StatusBar1-> Panels [1] -> Text = "";
	StatusBar1-> Panels [2] -> Text = "";
	StatusBar1-> Panels [3] -> Text = "";

}

/ / Verwenden Sie diesen Code als OnMouseMove Ereignishandler des Formulars:

void __fastcall TForm1:: FormMouseMove (TObject * Sender, TShiftState Shift, int x, int y)
{
if (Shift.Contains (ssLeft)) / / stellen Sie sicher Taste gedrückt
{
if (Y> StartY) {
	StatusBar1-> Panels [0] -> text = "Top:" + IntToStr (StartY)
	StatusBar1-> Panels [2] -> Text = "Unten:" + IntToStr (Y);
}
else {
	StatusBar1-> Panels [0] -> text = "Top:" + IntToStr (Y);
	StatusBar1.Panels [2] Text = "Unten:". + IntToStr (StartY)
}
if (x> startx) {
	StatusBar1-> Panels [1] -> text = "Left" + IntToStr (startx)
	StatusBar1-> Panels [3] -> Text = "Rechts:" + IntToStr (X);
}
else {
	StatusBar1-> Panels [1] -> text = "Left" + IntToStr (X);
	StatusBar1-> Panels [3] -> Text: = "Rechts:" + IntToStr (startx)
}
}
} 


OnMouseMove

Tritt ein, wenn der Benutzer die Maus bewegt, während sich der Mauszeiger über dem Steuerelement.

 enum {Classes__1 ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble};
typedef TShiftState September;

typedef void __fastcall (__closure * TMouseMoveEvent) (System:: TObject * Sender, Klassen: TShiftState Shift, int x, int y);

__property TMouseMoveEvent OnMouseMove = {read = FOnMouseMove, schreiben
= FOnMouseMove}; 

Shift-Parameter auf die Shift-Tasten und Maustasten reagieren. Shift-Tasten sind die Shift, Strg und Alt X und Y sind die Pixel-Koordinaten des Mauszeigers im Client-Bereich des Senders.

Der folgende Code-Updates der beiden Labels Wenn Mauszeiger bewegt wird. Sie den Code übernimmt zwei Etiketten auf dem Formular, und lbVert lbHorz. Wenn Sie Formular fügen Sie diesen Code, um das OnMouseMove Falle einer, lbHorz Ständig zeigt die horizontale Position des Mauszeigers und lbVert zeigt ständig die vertikale Position des Mauszeigers, während sich der Mauszeiger über das Formular.

 void __fastcall TForm1:: FormMouseMove (TObject * Sender, TShiftState Shift, int x, int y)
{
	char XPosition [10];
	char YPosition [10];

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

	lbHorz-> Caption = XPosition;
	lbVert-> Caption = YPosition;
} 


OnMouseUp

Tritt ein, wenn der Benutzer die Maustaste gedrückt wird cusando Mauszeiger über das Steuerelement.

 enum {TMouseButton mbLeft, mbRight, mbMiddle};

enum {Classes__1 ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble};
typedef TShiftState September;

typedef void __fastcall (__closure * TMouseEvent) (System:: TObject * Sender, TMouseButton Button, Klassen:: TShiftState Shift, int x, int y);

__property TMouseEvent OnMouseUp = {read = FOnMouseUp, schreiben = FOnMouseUp}; 

Shift-Parameter auf die Shift-Tasten und Maustasten reagieren. Shift-Tasten sind die Shift, Strg und Alt X und Y sind die Pixel-Koordinaten des Mauszeigers im Client-Bereich des Senders.

Der folgende Code zeichnet ein Rechteck Wenn der Benutzer eine Maustaste drückt, bewegt sich die Maus und die Maustaste loslässt. Wenn die Maustaste losgelassen wird, erscheint das Rechteck auf dem Formular Leinwand. Seine linke obere und untere rechte Ecken Taste definiert durch die Position des Mauszeigers Wenn der Benutzer gedrückt und wieder losgelassen mit der Maus.

 int startx, StartY / / Deklariert in interface-Abschnitt des Formulars Einheit

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-> Canvas-> Rectangle (startx, StartY, X, Y);
} 
Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |