ButtonClick innerhalb von Label1Click ausführen
-
Habe es mir angeguckt (auch vor deiner Antwort) aber ich werde darauzs nicht ganz schlau, kenne mich damit nicht richtig aus.
Kannst du mir nicht sagen was ich da genau machen muss?
-
hallo akari
void __fastcall TForm1::LabelClick(TObject *Sender) { Button1Click(0); }kannst Du mir die 0 erklären ?
Ich habe es immer so gemacht:void __fastcall TForm1::LabelClick(TObject *Sender) { Button1Click(Button1); }Danke
-
Hallo
@ N00B_N00B : Der Compiler sagt dir, das die aufzurufende Methode mehr Argumente benötigt. Also schau dir an, was für Parameter die fragliche Methode besitzt und was du noch zusätzlich zu dem ersten Argument (der 0) übergeben kannst/mußt.
@ OldMan00 :
Die 0 ist sozusagen ein leerer Pointer. Du kannst natürlich genauso gut eine konkrete Instanz wie Button1 übergeben. Wenn du in dem Button1Click den Sender auswerten willst, must du das sogar.
Mit der 0 habe ich in meinen Projekten immer signalisiert, das der Event nicht vom benutzer direkt, sondern von anderen Methoden aus aufgerufen wurde. Das ist nur selten nötig, manchmal aber hilfreich.bis bald
akari
-
Also ich muss da mehr oder weniger raten
Bisher habe ich es so:lab_loginMouseUp(0,WM_LBUTTONUP);obs bis hier richtig ist weiß ich nicht
Aber was muss ich für TShiftState Shift und int x und int y angeben?Danke
-
Button1->Click();
-
Hi,
du siehst doch, was für Parameter in den Klammern (hinten), in die Funktionen
hinein zeigen (alle mit * &), die ander werden übergeben.
z.Bvoid __fastcall TForm1::Button1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { }Bei Button1MouseUp(); fehlen die Parameter die erwartet werden.
Deshalb die Fehlermeldung.So wie es aus sieht sind dir dies Parameter egal (brauchst sie nicht
)
Mach dir eine extra neue Member-Funktion in der Form mit dem Inhalt von Button1MousUP.[cpp]z.B
in unit.h
private:
void funktion();in unit.cpp
void TForm1::funktion()
{
Button1->Click();
}void __fastcall TForm1::Button1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
funktion();
}void __fastcall TForm1::Button1Click(TObject *Sender)
{
funktion();
}
[/cpp]Grüsse
-
Danke, vorallem für das Beispiel ohne das ich jetzt aufgegeben hätte ^^
-
Hi,
wenn du das von mir meinst.
Da ist eine Endlosschleife drin, wenn du Button1 Clickst...
Grüsse
-
@akari
danke
-
steinsoft schrieb:
Hi,
wenn du das von mir meinst.
Da ist eine Endlosschleife drin, wenn du Button1 Clickst...
Grüsse
naja habs schon anders gemacht^^