AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Button OnClick wird nicht ausgelöst..

Ein Thema von Angel4585 · begonnen am 17. Apr 2006 · letzter Beitrag vom 10. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 18:28
Hallo zusammen,

ich hab folgendes Problem:

Hiermit mach ich in Stringgrid einen bzw. mehrere Buttons:

Delphi-Quellcode:
procedure TForm1.StringgridDrawCell(Sender : TObject; ACol, ARow : Integer; Rect : TRect; State : TGridDrawState);
begin
if (ACol = 2) and (ARow > 0) and (Stringgrid1.Objects[ACol,ARow] = nil) then
  begin
  Stringgrid1.Objects[ACol,ARow]:=TButton.Create(Stringgrid1);
  with TButton(Stringgrid1.Objects[ACol,ARow]) do
    begin
    Name := 'sgButton'+IntTostr(ARow);
    Parent:=Stinggrid1;
    Top:=Rect.Top;
    Left:=Rect.Left;
    Width:=Rect.Right-Rect.Left;
    Height:=Rect.Bottom-Rect.Top;
    OnClick:=MyOnClick;
    end;
  end;
end;

procedure TForm1.MyOnClick(Sender : TObject);
begin
if Sender is TButton then
  with TButton(Sender) do
    Stringgrid1.Cells[0,StrToint(Copy(Name,9,Length(Name)-9))]:='Clicked';
end;
mein kleines aber feines Problem ist jetzt, dass das zugewiesene OnClick nicht ausgeführt wird. weis jemand was da noch fehlt?

MfG
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 18:47
bist du dir sicher das nicht ins OnClick gesprungen wird? hast du dort mal einen Haltepunkt gesetzt?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 18:53
ja türlich habbich.. iss nich rein... ich kann draufklicken.. aber es springt einfach net rein..
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 18:57
an dem source ist eigentlich alles richtig. Hast du probiert ob das ganze richtig funktioniert wenn du die Buttons nicht auf dem Stringgrid sondern auf dem Form direkt anlegst? Du könntest zum Debuggen auch mal den kreierten Button auf eine Zwischenvariable zuweisen und ohne "with" durchprobieren ob alles richtig gesetzt wird. Da der Button ja offensichtlich richtig erzeugt wird und auch sichtbar ist hätte ich noch die Vermutung das sich ein anderes Control in den Vordergrund schiebt so das der Click nie beim Button ankommt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 18:58
Warum schreibst du ARow nicht als .Tag in den Button, dann ist es im Eventhandler die richtige Zeile zu finden.
Delphi-Quellcode:
procedure TForm1.MyOnClick(Sender : TObject);
begin
if Sender is TButton then
  with TButton(Sender) do
    Stringgrid1.Cells[0,Tag]:='Clicked';
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:00
@mkinzler: Danke für den Tipp, ist aber OT da er da nie ankommt.

@SirThornberry: der Buttonclick wird ja animiert, also sollte er auch ausgelöst werden und ankommen oder?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:02
wenn der "click" animiert wird sollte der Klick auch ausgelöst werden. Deswegen hatte ich auch vorgeschlagen das danze mal auf eine Zwischenvariable zu zuweisen um zu debuggen ob da wirklich das OnClick richtig zugewiesen wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:09
Delphi-Quellcode:
var b : TObject;
...

procedure TForm1.Button1Click(Sender : TObject);
begin
b:=TButton.Create(Self);
with TButton(b) do
  begin
  Parent:=Self;
  Name:='Testb1';
  Top:=0;
  Left:=0;
  Width:=100;
  Height:=100;
  OnClick:=MyOnClick;
  end;
end;
hier funktioniert das OnClick. Also er springt bei nem Klick rein. Und jetzt?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:12
Setze mal zum Test in deinem originallem Programm den Parent der Buttons auf die Form. Es scheint hier ein Problem der Eventweiterreichnung des StringGrids zu geben.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:13
[OT]Die b-Variable wäre bei dem Test lokal besser aufgehoben[OT]

Ich würde dir wenn es so funktioniert mal empfehlen das in die andere Funktion einzubauen. Also dort mit einer Zwischenvariablen arbeiten und dann die Zwischenvariable auf das "Objects" zuweisen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz