在应用层传一个窗口句柄到SDK中,在SDK中创建一个非模态子窗口,下面是我的SDK中代码,应用层窗口有时不能响应消息,请赐教。
////////////////////////////////
long FAR PASCAL WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   return DefWindowProc(hWnd, message, wParam, lParam);
}
//////////////////////
WNDCLASS      wc;
wc.style = CS_HREDRAW |CS_VREDRAW  ;//CS_VREDRAW ;//CS_BYTEALIGNCLIENT |
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = NULL;//hInstance;
wc.hIcon = NULL;
wc.hCursor = NULL
wc.hbrBackground = (HBRUSH )GetStockObject(GRAY_BRUSH);//
wc.lpszMenuName = NULL;
wc.lpszClassName = "AA";
RegisterClass(&wc);hWnd = CreateWindow(
                                 
        "AA",//"AA",
        NULL,
        WS_CHILD|WS_VISIBLE,// | WS_POPUP_  ,
        20,
        20,
        50,
        50,(SM_CXSCREEN),
        m_hPreviewWnd,(//应用层传窗口句柄)
        NULL,
        NULL,//hInstance,
        NULL);
        if (!hWnd)
           return FALSE;
        ShowWindow(hWnd, SW_SHOW);
        UpdateWindow(hWnd);
        SetWindowPos(hWnd,HWND_TOPMOST,0,0,50,50,SWP_NOSIZE|SWP_SHOWWINDOW

解决方案 »

  1.   

    你这叫什么 应用层传窗口句柄  啊,好像程序员都看不懂的还有你你创建的 窗口 WS_CHILD ,为什么还做 
    SetWindowPos(hWnd,HWND_TOPMOST,0,0,50,50,SWP_NOSIZE|SWP_SHOWWINDOW)
    这什么呀,乱...你创建的 窗口有自己的 消息处理函数的,Parent窗口怎么的到消息呢? 象你这样的,
    我觉得非得用SDK吗? 如果要用,还是先多学习学习吧。
      

  2.   

    CMyDlg 对话框的类
    IDD_TRANS_TAB 对话框的Id

    g_Dialog = new MyDlg;

    g_Dialog->Create(IDD_TRANS_TAB, this->GetWindow(GW_CHILD));

    g_Dialog->MoveWindow(&rt);

    g_Dialog->ShowWindow(SW_SHOW);
      

  3.   

    用MFC倒比较简单,SDK没试过。