如题。
比如我想调用某个TreeView的OnTvnItemexpandedMytree(……)
众所周知,事件函数有两个参数,NMHDR *pNMHDR和LRESULT *pResult要直接调用就要传递实参,那么这两个自动生成的参数,在我自己的调用的时候该怎么办?

解决方案 »

  1.   

    NMHDR *pNMHDR是个指向结构体的指针。
    结构体有hwndFrom、IdForm、code
    第一个我知道是句柄,第二个我知道是id,但是第三个我就不知道了是一堆数字,代表什么意思呢?然后pResult我也不知道是什么意思咯
      

  2.   


    然后pResult我也不知道是什么意思咯
    返回结果,传一个LRESULT的引用
      

  3.   

    NMTREEVIEW nmt;
    memset(&nmt, 0, sizeof(nmt));
    nmt.hdr.hwndFrom = tree.GetSafeHwnd();
    nmt.hdr.idFrom = tree.GetDlgCtrlID();
    nmt.hdr.code = TVN_ITEMEXPANDED;
    LRESULT lResult = tree.GetParent().SendMessage(WM_NOTIFY, 0, (LPARAM)(LPNMHDR)&nmt);
      

  4.   

    看MSDN中TVN_ITEMEXPANDED的说明。
    pnmtv
    Pointer to an NMTREEVIEW structure. The itemNew member is a TVITEM structure that contains valid information about the parent item in the hItem, state, and lParam members. The action member indicates whether the list expanded or collapsed. For a list of possible values, see the description of the TVM_EXPAND message.
      

  5.   

    再问个问题行不
    我调用了某exe执行文件,就比如cmd.exe好了,我传递一组参数进去,比如c:\dir,然后cmd.exe会输出c盘目录下所有的文件和文件夹。我怎么样能够将这些数据捕获????谢谢。鞠躬……
      

  6.   

    ShellExecute(NULL,"open","cmd.exe"," cd c:\ dir >> F:\1.txt",...);
    在读取F:\1.txt文件
      

  7.   

    to visualEleven 还要读取文件啊那么能不能储存在一个数据流当中??
      

  8.   

    第一个问题:其实我只是想实现expand,所以只要:
    m_tree.Expand(item,TVE_EXPAND);
    这个样子就行了晕
    item 就是HTREEITEM类型的
      

  9.   

    你的意思是不是遍历文件啊
    如果你给个C:\的话
    用CFileFind能遍历C:\下的文件
    然后直接写在TreeView里就可以了
      

  10.   

    我比你更晕。还以为你有特殊需求呢。遍历文件,可以使用API或者现成的封装类来实现,没必要启动cmd进程。
    如果实在要启动命令提示符来执行命令,应该使用CreateProcess,在参数里使用自己创建的管道,既可输入命令,也能捕获输出结果。