Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TEdit. Вид как у калькулятора.


Автор: MaXL 13.9.2007, 13:01
Всем привет. Вообщем такая проблемка: пишу программку, так вот поел ввода должно быть такое как у стандартного виндовс калькулятора(т.е. нельзя выделять ничего и не виден курсор). Пересмотрел все свойства, ничего нашёл(либо плохо смотрел), либо это делается по другому.
Ну и по поводо кнопки Delete. Нужно чтобы когда юзер её жмёт, чтобы выполнялся мой код(определённый) и всё.
Пробовал так:
Код

procedure TMainForm.LanEditKeyPress(Sender: TObject; var Key: Char);
var
  temp: string;
begin
  //........
  if Key = Char(VK_DELETE) then
    begin
      ClearButton.Click();
    end;
  //...........................

Я вот думаю, может быть VK_DELETE не та константа ?

Автор: Alexeis 13.9.2007, 13:16
  Может использовать просто TStaticText? Нафиг Edit если нечего редактировать?

Автор: Poseidon 13.9.2007, 13:16
Цитата(MaXL @  13.9.2007,  13:01 Найти цитируемый пост)
Ну и по поводо кнопки Delete
 Засовывай в OnKeyDown


Код
procedure TMainForm.LanEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  temp: string;
begin
  //........
  if Key = VK_DELETE then
    begin
      ClearButton.Click;
    end;
  //...........................



Цитата(MaXL @  13.9.2007,  13:01 Найти цитируемый пост)
 пишу программку, так вот поел ввода должно быть такое как у стандартного виндовс калькулятора(т.е. нельзя выделять ничего и не виден курсор)
 Просто перенаправляй фокус куда-нить (В калькуляторе перенаправляется на кнопку "=".

Код
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Button1.SetFocus;
end;



Добавлено через 1 минуту и 28 секунд
Цитата(Alexeis @  13.9.2007,  13:16 Найти цитируемый пост)
Может использовать просто TStaticText?
Кстати, хорошая мысль! ;-)

Автор: Alexeis 13.9.2007, 13:21
Код

  StaticText1.Alignment := taRightJustify;
  StaticText1.BevelOuter := bvRaised;
  StaticText1.BorderStyle := sbsSunken;
  StaticText1.Color       := clWindow;


Вот и Edit без функций редактирования, но с Windows окном и прочими удобствами.

Автор: MaXL 14.9.2007, 05:09
Alexeis, спасибо. сделал именно так.

Цитата

Просто перенаправляй фокус куда-нить (В калькуляторе перенаправляется на кнопку "=".
Код

 procedure TForm1.Edit1Enter(Sender: TObject);
begin
Button1.SetFocus;
end;


Я использую TButton, а TSpeedButton. У него такого метода. Но при использовании StaticText такая проблема отпала.
Всем спасибо. Вопрос решён.
 
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)