哪位大虾知道的,请帮我一下,今天去面试的时候,面试官问我的这个问题,叫我端午节过后解答出来,,我想了好久,在网上也找了也没有找到相关的资料,只好在这里请教大家了,知道的麻烦帮一下啊

解决方案 »

  1.   

    向SysTabControl32发消息添加一项,然后将图片画上去!如果仅针对图片文本加此项,那么还要过滤一下其它文件。可能需要DLL,比较复杂,建议研究下RAR在右击文件时的动态菜单。
      

  2.   

    这东西显然就那么一个原理啊,注册一个符合相关约定的com控件,然后加到shell的上下文里去,也就是注册表里文件类型部分
      

  3.   

    注册一个com,然后根据操作系统提供的接口进行shell操作,楼主可以参考下《Delphi深度探索》那本书
      

  4.   

    DELPHI隐藏有一个设置控件属性的函数你在网上找找相关的代码,
    下面这个是给delphi的treeView加上CheckBox的,
    你的问题和这个有点相似,
    但要自己研究了。procedure SetComCtlStyle(Ctl: TWinControl; Value: Integer; UseStyle: Boolean);
    var
      Style: Integer;
    begin
      if Ctl.HandleAllocated then
      begin
        Style := GetWindowLong(Ctl.Handle, GWL_STYLE);
        if not UseStyle then Style := Style and not Value
        else Style := Style or Value;
        SetWindowLong(Ctl.Handle, GWL_STYLE, Style);
      end;
    end;
    新版的WIN公共控件的TREEVIEW中有DELPHI中没有的风格定义
    const
      TVS_CHECKBOXES = $0100;
    用下面的语句既可给TTREEVIEW加CHECKBOX
    SetComCtlStyle(TTreeView1,TVS_CHECKBOXES,True); 
      

  5.   

    汗还是看看这个吧:
    http://www.mscto.com/delphi/200811177395.html