我是用dll的方式添加项目的,已经可以实现了
但是不知道如何添加图标,就像winrar那样,在"添加到压缩文件...."前面有个小图标
但是不知道如何添加图标,就像winrar那样,在"添加到压缩文件...."前面有个小图标
解决方案 »
- 创建映射盘到客户端
- UDP/TCP如何控制下载速度???
- 怎样定制自己的软件皮肤??
- 如何将dbgrid的内容保存为dbf文件。在线!
- 使用StrToDateTime(STR)时出现异常,如 “3 May 2003”使用该转换函数会出错,请问大家有没有更好的办法能避免在日期格式不同的情况下转换
- 有关利用Idhttp登陆上QQ空间并获取数据的问题
- 谁会呀
- 谁知道 Delphi6.0序列号
- dbgrid按下回车自动换行增加行
- 网络开发的利器delphi6.0中的indy控件使用
- 急求<<Delphi串口通信技术与工程实践>> \《delphi串口通信编程》电子书
- cxGrid怎样才能根据字段值行显示不同颜色了?
比如右键点击一个文件时弹出来的菜单
\Demos\ActiveX\ShellExt\contmenu.dpr图像主要在IContextMenu3.HandleMenuMsg2里绘制具体的可以去网上找一篇《Windows 外壳扩展编程入门实例》
里面说俄很详细
function TContextMenu.QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst,
idCmdLast, uFlags: UINT): HResult;
var
pic1 : HBITMAP;
pic2 : HBITMAP;
subMenu : Integer;
begin
Result := 0; // or use MakeResult(SEVERITY_SUCCESS, FACILITY_NULL, 0); if ((uFlags and $0000000F) = CMF_NORMAL) or
((uFlags and CMF_EXPLORE) <> 0) then begin
// Add menu item to context menu
subMenu := CreateMenu;
InsertMenu(subMenu, indexMenu, MF_STRING or MF_BYPOSITION, idCmdFirst + idQQ, '运行 QQ ');
InsertMenu(subMenu, indexMenu, MF_STRING or MF_BYPOSITION, idCmdFirst + idDelphi, '运行 Delphi ');
InsertMenu(Menu, indexMenu, MF_SEPARATOR or MF_BYPOSITION, idCmdFirst, nil);
InsertMenu(Menu, indexMenu, MF_STRING or MF_BYPOSITION or MF_POPUP, subMenu,'运行程序');
InsertMenu(Menu, indexMenu, MF_SEPARATOR or MF_BYPOSITION, idCmdFirst, nil);
pic1 := LoadImage(HInstance,MakeIntResource(1),IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);
pic2 := LoadImage(HInstance,MakeIntResource(2),IMAGE_BITMAP,0,0,LR_LOADMAP3DCOLORS);
SetMenuItemBitmaps(Menu, idCmdFirst + idQQ, MF_BYCOMMAND ,pic1,pic1);
SetMenuItemBitmaps(Menu,idCmdFirst + idDelphi,MF_BYCOMMAND,pic2,pic2);
// Return number of menu items added
Result := 4; // or use MakeResult(SEVERITY_SUCCESS, FACILITY_NULL, 1)
end;
end;