只知道对话框的句柄,在不知道对话框控件的编号的情况下,怎么得到对话框中某个控件的句柄?

解决方案 »

  1.   

    enumchildwindowor FindWindowEx and GetWindow
      

  2.   

    下面是枚举一个对话框上面RICHEDIT控件句柄的代码:
    LRESULT CALLBACK FEnumChild(HWND hwnd,LPVOID Info) 

      char szClassName[256]; 
      ZeroMemory(szClassName,256);
      GetClassName(hwnd, szClassName, 256);
      if (stricmp("RICHEDIT", szClassName) == 0)
      {
      h=hwnd;
      }
      return true;
    }EnumChildWindows(hwnd,WNDENUMPROC)FEnumChild,NULL);
      

  3.   

    谢谢snsins的回答, 可我试了,不行。 我的程序是用Fox做的,和VB的差不多。 我用你的方法试了, 连回调函数都没有被调用过啊。
    我先用EnumChildWindow找到了子窗口的句柄, 然后用你的方法准备找控件的句柄, 结果就是回调函数都没有被调用过。