生成一个EXPLORE风格的SDI
左边制作一个目录树,然后点击一项,
在右边显示图表,
如果这个图表中的一个文件是可执行的程序的话,
那么,双击后运行这个程序。如何做啊?请给出DEMO代码?先谢谢了!!!

解决方案 »

  1.   

    我有代码,你先给分
    [email protected]索取。
      

  2.   

    通过处理NM_CLICK,NM_DBLCLK,NM_BCLICK以及NM_RDBLCLK通知可以在列表视图中响应鼠标事件。通常,响应这些事件的方法依赖于单击(或双击)发生时鼠标指针下面的情况。可以使用CListCtrl::HitTest对列表视图中的项目进行命中测试。给定一个点的坐标,HitTest返回该点出项目的索引号,或者该点与项目不相对应时返回-1。//In CMyListView's message map
    ON_NOTIFY_REFLECT(NM_DBLCLK,OnDoubleClick)//ON_NOTIFY_REFLECT项将NM_DBLCLK通知反射回列表视图。
        .
        .
        .
    void CMyListView::OnDoubleClick(NMHDR* pnmh,LRESULT* pResult)
    {
      DWORD dwPos=::GetMessage();
      CPoint point((int)LOWORD(dwPos),(int)HIWORD(dwPos));
      GetListCtrl().ScreenToClient(&point);
      
      int nIndex;
      if((nIndex=GetListCtrl().HitTest(point))!=-1)
      {
         CString string=GetListCtrl().GetItemText(nIndex,0);
         TRACE(_T("%s was double-clicked\n"),string);
         //TRACE宏将被双击项目的名字返回到调试输出窗口
      }
      *pResult=0;
    }