我用findwindow取得了一個OpenDialog上的combolist的handle,怎樣才能取得它的ID?另外,我可以逐項取得combolist上的displayname,但怎樣取得對應的絕對路徑?

解决方案 »

  1.   

    FindControl(combolist的句柄),找到这个组件
      

  2.   

    然後呢?怎樣找到它的ID? 我現在調用下面這個函數BOOL DlgDirSelectComboBoxEx(    HWND hDlg, // handle to dialog box with list box 
        LPTSTR lpString, // pointer to buffer for path string 
        int nCount, // number of characters in path string  
        int nIDComboBox  // identifier of combo box 
       );最後一個參數是 combo box 的identifier,利用 FindControl 得到了組件後,怎樣取得這個ID?
      

  3.   

    你得到组件后,就可以象访问comblist组件一样去访问了你说的组件id是个啥玩意,delphi中没这个概念,只有句柄
      

  4.   

    無法得到組件,那個combox似乎不是,delphi的組件,所以用FindControl取不了它,郁悶!
    那個id在調用許多相關的win32 api時都要用到,就是不知怎樣取得它。
      

  5.   

    你说的是不是SPY++里能看到的那个控制ID   Control ID  ?
    如果是的话,可以用id:=GetDlgCtrlID(hWnd) HWND就是那个控件的句柄,可以枚举子窗口获取ID是INTEGER类型
    不知道你是不是这个意思