Ich habe eine Combobox und möchte über die Zwischenablage Strg+V Zahlen einfügen.
Das klappt aber nicht so recht, da die Combobox diese Tastenkombination offenbar selber ausführt.
Beim Einfügen muss noch geprüft werden, ob das alles Ziffern sind. Alles andere muss gelöscht werden, damit es nicht in die Combobox gelangt.
Delphi-Quellcode:
procedure TfEnterManu.cbManuListKeyPress(Sender: TObject; var Key: Char);
begin
s := ClipBoard.AsText;
for i := 1 to length(s) do begin
if CharInSet(s[i], ['0'..'9']) then cbManuList.Text := cbManuList.Text + s[i];
end;
Key := #0;
end;
oder so
Delphi-Quellcode:
procedure TfEnterManu.cbManuListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var s : String;
i : integer;
begin
if (Shift = [ssCtrl]) and (Key=ord('V')) then begin
s := ClipBoard.AsText;
for i := 1 to length(s) do begin
if CharInSet(s[i], ['0'..'9']) then cbManuList.Text := cbManuList.Text + s[i];
end;
end;
key := 0;
end;
Ist bestimmt ganz einfach und ich übersehe etwas.