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>