我的程序如下,但我不知为什么我的事件的不到响应,请各位大虾帮帮手!
protected
   procedure wndproc(var message:tmessage);override;
......procedure tform1.wndproc(var message:tmessge);
begin
        if message.msg=wm_char then
           响应事件
     inherited wndproc(message);
end;还有我想如果按下's'键,就响应我的事件,我要怎么写,谢谢!

解决方案 »

  1.   

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    int wmId, wmEvent;
    TCHAR szHello[MAX_LOADSTRING];
    LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) 
    {
    case WM_COMMAND:
    wmId    = LOWORD(wParam); 
    wmEvent = HIWORD(wParam); 
    // Parse the menu selections:
    switch (wmId)
    {
    case IDM_EXIT:
       DestroyWindow(hWnd);
       break;
    default:
       return DefWindowProc(hWnd, message, wParam, lParam);
    }
    break;
    case WM_DESTROY:
    PostQuitMessage(0);
    break;
    case WM_CHAR:
    if(wParam=='U')
    {
    ShowCursor(true);
    DialogBox(hInst,(LPCSTR)IDD_DIALOG1,hWnd,(DLGPROC)About);
    if(Flags)
    PostQuitMessage(0);
    else
    ShowCursor(false);
    }
    break;
    default:
    return DefWindowProc(hWnd, message, wParam, lParam);
       }
       return 0;
    }
    我想请问如何将这段C程序改为DELPHI程序,谢谢
      

  2.   

    我奇怪你怎么连setwindowlong都不用就想subclass
    参考一下vbaccelerator.com
      

  3.   

    哪是什么c啊,就是apiwindows编程吗,晕