SDK : 用SetWindowLong函数

解决方案 »

  1.   

    可以在窗口过程中
    switch(iMsg)
    {
       case WM_CREATE:
          SetWindowLong(...);
          break;
       .....
    }
      

  2.   

    附,MFC和SDK的封装对应关系:
    CWnd::ModifyStyle(HWND hWnd, DWORD dwRemove, DWORD dwAdd, UINT nFlags)
    {
    return _AfxModifyStyle(hWnd, GWL_STYLE, dwRemove, dwAdd, nFlags);
    }AFX_STATIC BOOL AFXAPI _AfxModifyStyle(HWND hWnd, int nStyleOffset,
    DWORD dwRemove, DWORD dwAdd, UINT nFlags)
    {
    ASSERT(hWnd != NULL);
    DWORD dwStyle = ::GetWindowLong(hWnd, nStyleOffset);
    DWORD dwNewStyle = (dwStyle & ~dwRemove) | dwAdd;
    if (dwStyle == dwNewStyle)
    return FALSE; ::SetWindowLong(hWnd, nStyleOffset, dwNewStyle);
    if (nFlags != 0)
    {
    ::SetWindowPos(hWnd, NULL, 0, 0, 0, 0,
    SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | nFlags);
    }
    return TRUE;
    }
      

  3.   

    to vcbear:
    这个函数是在windows。h中吗?