Цитата
как можно сделать, что бы цифры вводились не с начала строки, а с конца(как в стандартном калкуляторе Windows)??
Для этого можешь пользоваться вот такой процедурой:
Код
procedure RJustifyEdit(var ThisEdit : TEdit);
var
Left, Width : Integer;
GString : String;
Rgn : TRect;
TheCanvas : TControlCanvas;
begin
TheCanvas := TControlCanvas.Create;
try
TheCanvas.Control := ThisEdit;
GString := ThisEdit.Text;
Rgn := ThisEdit.ClientRect;
TheCanvas.FillRect(Rgn);
Width := TheCanvas.TextWidth(GString);
Left := Rgn.Right - Width - 1;
TheCanvas.TextRect(Rgn, Left, 0, GString);
finally
TheCanvas.Free;
end;
end;
...
// Вот так можешь вызывать:
procedure TForm1.bspsClick(Sender: TObject);
begin
s:=Edit1.text;
Delete(s,length(s),1);
Edit1.text := s;
RJustifyEdit(Edit1)
end;
...
Цитата(Catty @ 19.03.05 16:55)
Допустим я хочу что бы при нажатии клавиши Backspace на клаве, срабатывала кнопка на калькуляторе.
Наверное, вот так (только не забудь установить для формы KeyPreview := True):
Код
procedure TForm1.bspsClick(Sender: TObject);
begin
s:=Edit1.text;
Delete(s,length(s),1);
Edit1.text := s;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #8 then bspsClick(sender);
end;