读书人

Tpopupmenu替每个菜单项加上图标鼠标

发布时间: 2013-09-09 20:31:09 作者: rapoo

Tpopupmenu为每个菜单项加上图标,鼠标移上时有蓝色焦点条,如果让蓝色条不在图标区显示?
Tpopupmenu为每个菜单项加上图标,鼠标移上时有蓝色焦点条,如果让蓝色条不在图标区显示?也就是蓝色条从文字处开始绘制?
[解决办法]
自己写个控件呗,系统的你是改不了的。。
[解决办法]
自画!

{
popupmenu1.Images := ImageList1;
popupmenu1.OwnerDraw := True;
popupmemu1.autohotkeys := maManual;
}

//自画popupmenu1的菜单项a1,在a1的OnDrawItem事件。
procedure TForm1.a1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
var
R: TRect;
begin
R := ARect;
R.Left := R.Left + 16;
ImageList1.Draw(ACanvas, 2, 2, 0);//画图片
ACanvas.FillRect(R);//填充背景色
ACanvas.TextOut(R.Left+2, 2, TMenuItem(Sender).Caption);//画文字
end;

读书人网 >.NET

热点推荐