ReM wrote:
> Sveiki,
>
> Paprastutė klavišo paspaudimo procedūra. Reikia, kad paspaudus "a",
> ištrintų prieš tai esantį simbolį.
> Tikėjausi, kad taip nutrins, tačiau nutrina būtent simbolį "a".
>
> procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
> begin
> if Key='a' then
> begin
> keybd_event(VK_BACK, 0, 0, 0);
> keybd_event(VK_BACK, 0, KEYEVENTF_KEYUP, 0);
> end;
> end;
>
> Kaip padaryt, kad nutrintų prieš kursorių esantį simbolį? "a" irgi turi
> pasirodyt.
>
Kažkaip tu darai pro kitą galą. Nesuprantu ko tu nori, todėl pateikiu
pavyzduką tam, ko tu prašai, bet aš spėju, kad tu darai kažką iš
visiškai kitos pusės.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
vText: string;
vSelPos: integer;
begin
if key = 'a' then
begin
vText := Edit1.Text;
vSelPos := Edit1.SelStart;
Delete(vText, vSelPos, 1);
Edit1.Text := vText;
Edit1.SelStart := vSelPos;
end;
end;
beje - vSelPos reikės skaičiuoti kitaip, jeigu tekstas bus pažymėtas.
Tada reikės ir vText skaičiuot kitaip :)