Einzelnen Beitrag anzeigen

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