Hallo,
ich habe mir jetzt selber eine Lösung ausdenken können (ja, ich bin lernfähig
)
Das oben beschriebene Problem lässt sich folgendermaßen lösen:
Delphi-Quellcode:
procedure TForm1.Einheit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if sendmessage(Einheit1.handle, CB_GETDROPPEDSTATE, 0, 0)=0 then
begin
if (Key=VK_LEFT) or (Key=VK_DOWN) or (Key=VK_RIGHT) or (Key=VK_UP) then
begin
Key:=VK_NUMPAD0; {einfach irgend eine Taste, die man an der Stelle garantiert nicht braucht.}
SendMessage(Einheit1.Handle, CB_SHOWDROPDOWN, 1, 0);
end;
end;
end;
Das einzige was mich ein wenig wundert ist, dass die Prozedur auch auch auf F4 reagiert, keine Ahnung warum, aber das stört ja nicht wirklich