Dzień dobry :-) naskrobałem sobie taki mały programik
i mam w nim kontrolkę Edit i Buttona, który wykonuje to
co trzeba ale tak sobie pomyślałem że mogło by się to
wykonywać po wciśnięciu Entera.

No i właśnie nie wiem co tu zrobić, jak wciskam
enter w Edicie to Windows tylko ten ochydny
brzdęk wydaje z siebie, no a w tej Procedurze
od okna nie przychodzą komunikaty od klawiszy
z kontrolki i nie wiem co dalej począć :(

[b][dopisane][/b]

Marooned poradził mi żeby wstawił do stylu buttona
BS_DEFPUSHBUTTON, mimo tego nie działa więc ja
może kod wkleje:

program KoszNamer;

{$R *.res}

uses
Windows, Messages, Registry;

var
Handle, Lbl1, Lbl2, Edt1, Btn1, Fnt1: Hwnd;
WCls : TWndClass;
Msg: TMsg;

procedure ChangeKoszName;
var
Reg : TRegistry;
Hw : HWnd;
Buff : Array[0..255] of Char;
begin
GetWindowText(Edt1, Buff, SizeOf(Buff));
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('\CLSID{645FF040-5081-101B-9F08-00AA002F954E}', True);
Reg.WriteString('', Buff);
Reg.CloseKey;
Reg.Free;
Hw := FindWindow('Progman', 'Program Manager');
PostMessage(Hw, WM_KEYDOWN, 116, 0);
SetWindowText(Edt1, '');
SetFocus(Edt1);
end;

function WndProc(HWnd: HWND; Msg: UINT; wParam: WPARAM;
lParam: LPARAM): LRESULT; stdcall;
begin
Result := 0;
case Msg of
WM_DESTROY:
PostQuitMessage(0);
WM_COMMAND:
if Btn1 = lParam then ChangeKoszName;
else
Result := DefWindowProc(HWnd,Msg,WParam,LParam);
end;
end;

begin
WCls.style := CS_OWNDC;
WCls.lpfnWndProc := @WndProc;
WCls.cbClsExtra := 0;
WCls.cbWndExtra := 0;
WCls.hInstance := hInstance;
WCls.hIcon := LoadIcon(hInstance, 'MAINICON');
WCls.hCursor := LoadCursor(0, IDC_ARROW);
WCls.hbrBackground := COLOR_WINDOW;
WCls.lpszMenuName := nil;
WCls.lpszClassName := 'KoszNamerClassName';
RegisterClass(WCls);

Handle := CreateWindow('KoszNamerClassName',
'KoszNamer for Windows XP',
WS_VISIBLE or WS_CAPTION or WS_SYSMENU,
(GetSystemMetrics(SM_CXSCREEN) - 220) div 2,
(GetSystemMetrics(SM_CYSCREEN) - 100) div 2,
220, 106,
0, 0, hInstance, nil);

Lbl1 := CreateWindow('STATIC',
'Podaj nową nazwę dla kosza',
WS_VISIBLE or WS_CHILD,
35, 8, 190, 13,
Handle, 0, hInstance, nil);

Edt1 := CreateWindowEx(WS_EX_CLIENTEDGE, 'EDIT',
'',
WS_VISIBLE or WS_CHILD or ES_AUTOHSCROLL,
13, 30, 135, 21,
Handle, 0, hInstance, nil);

Btn1 := CreateWindow('BUTTON',
'Zmień',
WS_VISIBLE or WS_CHILD or BS_DEFPUSHBUTTON,
154, 29, 45, 23,
Handle, 0, hInstance, nil);

Lbl2 := CreateWindow('STATIC',
'(C) 2003 by Mateusz Piechnat',
WS_VISIBLE or WS_CHILD,
33, 60, 175, 13,
Handle, 0, hInstance, nil);

Fnt1 := CreateFont(-12, 0, 0, 0, 0, 0, 0, 0,
DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH or FF_DONTCARE,
'MS Sans Serif');

Sendmessage(Lbl1, WM_SETFONT, Fnt1, 0);
Sendmessage(Lbl2, WM_SETFONT, Fnt1, 0);
Sendmessage(Edt1, WM_SETFONT, Fnt1, 0);
Sendmessage(Btn1, WM_SETFONT, Fnt1, 0);
SetFocus(Edt1);

while GetMessage(Msg, 0, 0, 0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Halt(Msg.wParam);
end.

[b][dopisane][/b]

a może ktoś wie jak odebrać komunikat o wciśnięciu Entera w Edicie ?