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 2 von 2     12   
Angel4585

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

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:15
@mkinzler: ui des mit dem Parent geht.. aber sie sind dann nimmer auf dem Grid und scrollen au nimmer mit...

@SirThornberry: Dein Vorschlag funktioniert nicht, es bleibt wie es ist.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:29
Irgendwo muss das OnClick ja ankommen

Wenns im TStringGrid.onclick ankommt: Weiterleiten, vielleicht kommt auch OnMouseUp an (hat der button das? falls nicht, Windowproc überschreiben)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  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
 
#13

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 19:42
Zitat von DGL-luke:
vielleicht kommt auch OnMouseUp an (hat der button das? falls nicht, Windowproc überschreiben)
Tatsache.. ein OnMouseUp, und OnMouseDown usw funzen alle Problem erledigt..

[OT]Meint ihr das mit dem Button im Grid wär was für die Codelib?[/OT]
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
 
#14

Re: Button OnClick wird nicht ausgelöst..

  Alt 17. Apr 2006, 20:53
für die Codelib? Ich finde eher nicht da es doch recht unelegant ist in jedem Draw einen Button neu zu erstellen. Desweiteren gibt es bei dieser Variante doch unschöne Effekte beim Scrollen.
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
 
#15

Re: Button OnClick wird nicht ausgelöst..

  Alt 18. Apr 2006, 05:53
japp.. diese Effekte muss ich noch beheben.. aber dafür brauch ich irgendwie die Position und die Größe einer Zelle...
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#16

Re: Button OnClick wird nicht ausgelöst..

  Alt 18. Apr 2006, 16:01
Lass doch einfach den TButton weg und zeichne ihn selber. Dann berechnest Du im StringGrid.Click die Zelle (MouseToCell oder so).
Das selberzeichnen ist auch fett schneller, einziges Problem ist evtl. das Highlighting bei aktivierten Themes. da musst Du im MouseMove die verlassene und betretene Zelle ausrechnen und diese beiden neuzeichnen.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#17

Re: Button OnClick wird nicht ausgelöst..

  Alt 10. Jul 2007, 15:00
Ist zwar schon älter, der Thread, aber ich hab gerade die Lösung gefunden: Die Stringgrid reicht die WM_COMMAND Nachricht nicht an ihre Childcontrols weiter. Abhilfe schafft dieser Code:
Delphi-Quellcode:
procedure TControlGrid.WMCommand(var Message: TWMCommand);
var
  Control: TWinControl;
begin
  Control := FindControl(Message.Ctl);
  if Control <> nil
  then Begin
    with TMessage(Message)
    do Result:=(Control.Perform(Msg + CN_BASE, WParam, LParam));
    If Message.Result<>0
    Then Inherited;
  End;
end;
Dazu muss die WMCommand-Methode überschrieben werden (ist nicht virtuell, macht aber in diesem Fall nix, da diese speziellen Nachrichtenbehandlungsmethoden anders behandelt werden)
Delphi-Quellcode:
  protected
    procedure WMCommand(var Message: TWMCommand); message WM_COMMAND;
Vielleicht brauchts ja jemand nochmal.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:27 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