Hi Matze,
ich hab hier eine Lösung, ist
IMHO auch nicht die Beste, finde ich aber schöner wie deine
Du brauchst auf deiner Form ein TApplicationEvents.
Danach ein Variable:
IsShift: Boolean;
Im OnCreate stellst du die Variable auf false.
Danach machst du im OnKeyDown deiner Form (vorausgesetzt KeyPreview ist auf true):
IsShift := ssShift in Shift;
Danach brauchst du noch das OnMessage des TApplicationEvents:
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_KEYDOWN then
begin
if (Msg.wParam = VK_SPACE) and (IsShift) then
begin
SynEdit1.Lines.Add('Blubb');
Handled := true;
end;
end;
end;
Wie gesagt, ist zwar nicht beste Lösung, aber besser wie deine