![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
KeyToStr [D5]
Gayrus © (2002-11-11 03:03:00)Как зная Key и нажат ли Shift получить строку(символ), который появился бы в TEdit?
Gayrus (2002-11-18 17:09:00) [1]Я уже разобрался, и всё таки представляю: играешь в CS, вызываешь консоль, а на тебя выпрыгивает TEdit :).
PVOzerski (2002-11-11 16:59:00) [2]Если у Вас прога на WinAPI, откуда тогда у Вас tEdit? Это же класс из VCL. А если у Вас Edit-контрол, сделанный средствами WinAPI...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
h:tHandle;
OldProc:longint;
function ExtWndProc(hwnd,msg,wparam,lparam:longint):longint;stdcall;
begin
if msg=WM_CHAR then
Form1.label1.Caption:=Form1.label1.Caption+char(wparam);
Result:=CallWindowProc(pointer(OldProc),hwnd,msg,wparam,lparam);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
h:=CreateWindowEx(0,"EDIT","Hello!",
WS_CHILD or WS_VISIBLE,
20,20,50,16,Handle,1001,Hinstance,nil);
OldProc:=GetWindowLong(h,GWL_WNDPROC);
SetWindowLong(h,GWL_WNDPROC,longint(@ExtWndProc));
end;
end.
Song (2002-11-11 16:20:00) [3]А почему он должен быть обязательно последним?
2Gayrus © (11.11.02 16:09)
WM_KEYDOWN ?
F1 (2002-11-11 16:10:00) [4]А что посмотреть последний символ в Editе нельзя???
Gayrus (2002-11-11 16:09:00) [5]Тем, что у меня приложение на WinAPI, и я не пользуюсь компонентами.
PVOzerski (2002-11-11 03:33:00) [6]А чем событие onKeyDown плохо?