Das mit dem RichEdit mag stimmen. Wollte aber nunmal mit Memo vorwärtskommen.
Habe hier mal die Lösung:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| uses windows ; public procedure MemoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); end;
procedure TForm1.MemoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var m:TMemo; s:string; c:integer; begin m:=TMemo(Form1.FindComponent('MPC'+IntToStr(PageControl1.ActivePageIndex+1))); if m = nil then exit; if key = vk_insert then begin if m.Tag=0 then m.Tag:=1 else m.Tag:=0; if m.Tag=1 then Form1.StatusBar1.Panels.Items[4].Text:='Overwrite'; if m.Tag=0 then Form1.StatusBar1.Panels.Items[4].Text:='Insert'; exit; end; if ( Key >= ord('0') ) and ( key <= ord('z') ) and ( m.Tag = 1 ) then ( m.SelLength = 0 ) and ( m.SelStart < length(m.Text) ) and ( Shift = [] ) then begin s:=m.Text; c:=m.SelStart; delete(s,m.SelStart+1,1); m.Text:=s; m.SelStart:=c; end; end; |
Hoffe alle "Neuen" haben so auch was davon
Frohes Fest und guten Rutsch sagt Jürgen