Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 18:19   #1
Federal
Пользователь
 
Регистрация: 21.05.2010
Сообщений: 77
По умолчанию OnKeyPress VS Edit1 :)

Я сделал чат, все по принципу:
-вписываешь в Edit1 текст
-жмешь Button1 отправить
Итог: сообщение ушло.
Но мне нужно что бы сообщение уходило по нажатию на клавиатуре Enter
А Edit1 (через событие OnKeyPress) гад исключает такую возможность
Чё делать?
Federal вне форума Ответить с цитированием
Старый 28.07.2010, 19:21   #2
D@rkD@iver
Форумчанин
 
Регистрация: 28.07.2009
Сообщений: 189
По умолчанию

в функцию WndProc добавляешь

case WM_KEYDOWN:
if (wmId==VVK_RETURN)
{
отправляешь
}
break;
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com
D@rkD@iver вне форума Ответить с цитированием
Старый 28.07.2010, 19:32   #3
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

В OnKeyUp
Код:
if Key = VK_RETURN then begin
//отправляешь сообщение
end;
ZaRDaK вне форума Ответить с цитированием
Старый 28.07.2010, 20:02   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
А Edit1 (через событие OnKeyPress) гад исключает такую возможность
Как это?(если я конечно правильно понял)
Насколько я помню в процедуре OnKeyPress есть параметр key:char
Опять же, если правильно понял, то так:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    ListBox1: TListBox;
    Button1: TButton;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
     if key = #13 then begin
     ListBox1.Items.Add(Edit1.Text);
     Edit1.Text:='';
     end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    ListBox1.Items.Add(Edit1.Text);
    Edit1.Text:='';
end;

end.
P.S.ListBox использовал как пример, типа как список сообщений в чате.
_-Re@l-_ вне форума Ответить с цитированием
Старый 28.07.2010, 21:33   #5
Federal
Пользователь
 
Регистрация: 21.05.2010
Сообщений: 77
По умолчанию

Спасибо!!!
Federal вне форума Ответить с цитированием
Старый 29.07.2010, 15:48   #6
ChEaTeR-abc
Заблокирован
 
Регистрация: 30.06.2010
Сообщений: 104
По умолчанию

Может я не въехал, но , по-моему, 1 ответ на Delphi, второй - на каком-то другом языке
ChEaTeR-abc вне форума Ответить с цитированием
Старый 29.07.2010, 16:00   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ответ D@rkD@iver на Си, остальные на Делфи
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работатет onkeypress. vedro-compota Мультимедиа в Delphi 4 08.06.2010 20:58
OnKeyPress aurora_87 Общие вопросы C/C++ 3 15.01.2010 12:06
Копирование данных с Edit1 в Edit1 Girl Общие вопросы Delphi 1 02.06.2009 09:19
OnKeyPress из NumLock`а Alex Cones Общие вопросы Delphi 2 23.04.2009 20:08