Also ich hab hier ne Message WM_SetSelectedCell, man kann sie
Senden, Posten oder sonst was damit machen aber sie kommt nicht
an. bevor ich hier noch die Tastatur vor verzewiflung esse, könntet
ihr mir vielleicht helfen.
hier ist der relevante code:
Von hier geht die message aus.
Procedure LeaveLocatedSet;Virtual;
Delphi-Quellcode:
Procedure TCustomItemEditor.LeaveLocatedSet;
Begin
if Locatedset.col + Locatedset.Attributes.Count < Grid.ColCount then
Begin
Postmessage(WM_SetSelectedCell, Locatedset.Grid.Handle , LocatedSet.Col + LocatedSet.Attributes.Count, Row);
end
else
Begin
postmessage(WM_SetSelectedCell, Grid.Handle, Locatedset.Col + LocatedSet.Attributes.Count - 1 , Row);
SendKeys(Grid.Handle,VK_TAB,true);
end;
end;
und hier wird sie leider nicht empfangen
Procedure WMSetSelectedCell(var message: TMessage); message WM_SetSelectedCell;
Delphi-Quellcode:
Procedure Tadcstringgrid.WMSetSelectedCell(var message: TMessage);
Begin
MoveColRow( Message.WParam, Message.LParam, False, True );
end;
Delphi-Quellcode:
Procedure Sendkeys(
Handle :THandle; VK: Word;Post:Boolean = True);
begin
if post
then
PostMessage(
Handle, WM_KEYDOWN, VK ,$740000)
else
SendMessage(
Handle, WM_KEYDOWN, VK ,$740000);
end;