登录
首页 » Delphi源码 » Delphi 在程序运行过程中动态添加菜单

Delphi 在程序运行过程中动态添加菜单

于 2022-03-22 发布 文件大小:7.21 kB
0 166
下载积分: 2 下载次数: 1

代码说明:

Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种方法,另外也可以通过菜单项的Caption属性来判断,不过之前最好设置AutoHotkeys和AutoLineReduction为maManual。在以下创建菜单项的代码中:   self.MainMenu1.AutoHotkeys:=maManual;   self.MainMenu1.AutoLineReduction:=maManual;   通过设置这两个属性可以禁止程序自动为菜单生成热键,否则程序会自动在菜单的Caption属性中加入热键,并且会修改Caption属性的值,给通过Caption属性判断菜单项带来麻烦。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Delphi 使用API函数拔号
    Delphi 使用API函数拔号,拨号程序,基于api的方法实现,有兴趣下载源码参考一番。
    2022-01-26 01:52:58下载
    积分:1
  • Delphi IntToHex函数用法举例
    关于IntToHex,在Delphi中使用频率也是挺高的,不过像我这种菜鸟,对IntToHex的具体用法仍是不太熟悉,后来看了这个小程序,了解了一些,分享给大家,特别是以下代码会加深你对IntToHex函数的用法理解。   procedure TForm1.Button1Click(Sender: TObject);   var    S:integer;   begin    S:=2147483647;    showmessage(inttoHex(s,8));    showmessage(inttoHex(s,10));    showmessage(inttoHex(s,16));    showmessage(inttoHex(s,32));   end;
    2022-09-07 01:20:03下载
    积分:1
  • Delphi 隐藏或显示鼠标指针
    Delphi 隐藏或显示鼠标指针,在编译后运行本程序生成的Exe程序,在窗口中单击鼠标左键,鼠标会消失,被隐藏了,再次单击后鼠标重现,很好的演示了在Delphi中如何显示或隐藏鼠标的操作。
    2022-01-26 04:41:31下载
    积分:1
  • Delphi 7.0 After提取字符串中指定子字符串后的字符串
    Delphi 7.0 提取字符串中指定子字符串后的字符串,这个平时在字符处理时候使用几率也挺高的,获取指定字符串后面的字符串,比如获取扩展名等也可以用此方法,本例中要用到After函数,测试时,当单击按钮时,执行以下代码:   procedure TForm1.Button1Click(Sender: TObject);   begin    Edit3.Text := After(Edit2.Text,Edit1.Text);   end;   end.
    2022-03-28 10:50:27下载
    积分:1
  • Visual C# 调用声音控制对话框
    Visual C# 调用声音控制对话框,在windows Xp下表现挺好,在Windows7有些问题,调用的面板并不会显示出来,这是为何呢?windows调用 声音对话框的实例 ,基于Delphi7源码实现。
    2022-03-10 20:40:03下载
    积分:1
  • Delphi API笔刷制作
    Delphi API笔刷制作实例的源码,这个笔刷只不过比较简单,点击按钮后自动生成,而且是有规则的网格线,或许通过这个简单的笔刷,你可以学习到用Delphi制作笔刷的入门技巧,相关的代码如下:   procedure TForm1.Button1Click(Sender: TObject);   var    LogBrush:TLogBrush;   begin    LogBrush.lbStyle:=BS_HATCHED;    LogBrush.lbColor:=clRed;    LogBrush.lbHatch:=HS_DIAGCROSS;    Canvas.Brush.Handle := CreateBrushIndirect(LogBrush);    Canvas.FillRect(ClientRect);   end;
    2022-03-30 01:57:49下载
    积分:1
  • Windows 剪贴板高级编程-Delphi实例
    Windows 剪贴板高级编程-Delphi源码实例,其实也不是什么高级编程,挺基础的剪贴板应用。学习如何在Delphi环境下读取Windows剪贴板的内容。在编写一些系统辅助类的软件中,可使用到这些小技巧。以下代码:将剪贴板内容读取出来,在代码的执行放入一个按钮事件中:   procedure TForm1.Button2Click(Sender: TObject);   var    DataRec: TDataRecord;    Data: THandle;    PData: Pointer;   begin    Data := Clipboard.GetAsHandle(CF_CUSTOMFORMAT);    if Data = 0 then Exit;    PData := GlobalLock(Data);    Move(PData^, DataRec, GlobalSize(Data));    GlobalUnlock(Data);    with DataRec do    ShowMessage(Name + #13#10 + Sex + #13#10 + Hobby);   end;
    2022-04-22 08:40:48下载
    积分:1
  • Delphi 与Java TCPIP通信的范例
    这个Delphi例子我觉得值得看,用Java写了TCPIP通信的服务端,用Delphi写了客户端,两者在不同的语言环境下运行,并建立TCPIP通信,服务端的运行效果如示例截图所示。为了不发生消息乱码的现象,两者程序编码采用UTF8格式,用UTF-8格式发送出去,收到的UTF-8数据转成ANSI,这一部分的参考请参见util_utf8.pas文件,消息发送、服务器建立连接部分,请参见Unit1.pas文件。
    2022-08-23 01:44:09下载
    积分:1
  • Delphi7 向XML中添加RTTI信息
    Delphi7.0 向XML中添加RTTI信息,这个例子挺简单,希望大家喜欢,面向Delphi新手的,高手请绕道哦,下面是本例Delphi向XML中添加RTTI信息的关键性代码:   procedure TForm1.ComponentToDOM(iNode: IXmlNode; Comp: TPersistent);   var    nProps, i: Integer;    PropList: PPropList;    Value: Variant;    newNode: IXmlNode;   begin    nProps := GetTypeData (Comp.ClassInfo)^.PropCount;    GetMem (PropList, nProps * SizeOf(Pointer));    try    GetPropInfos (Comp.ClassInfo, PropList);    for i := 0 to nProps - 1 do    begin    Value := GetPropValue (Comp, PropList [i].Name);    NewNode := iNode.AddChild(PropList [i].Name);    NewNode.Text := Value;    if (PropList [i].PropType^.Kind = tkClass) and (Value 0) then    if TObject (Integer(Value)) is TComponent then    NewNode.Text := TComponent (Integer(Value)).Name    else    ComponentToDOM (newNode, TObject (Integer(Value)) as TPersistent);    end;    finally    FreeMem (PropList);    end;   end;
    2022-01-26 03:00:57下载
    积分:1
  • Delphi 打印图形(图片)
    Delphi 打印图形,把图片打印出来,通过这个例子,你可以学习到:    strect:Trect;//定义打印输出矩形框的大小    temhi,temwd:integer;   begin    if DIGPrint.execute then    begin    temhi:=imgpic.picture.height;    temwd:=imgpic.picture.width;    while (temhi = printer.pageheight div 2)and    //将图形放大到打印页面的1/2大小    (temwd = printer.pagewidth div 2) do    begin    temhi:=temhi+temhi;    temwd:=temwd+temwd;    end;    with strect do //定义图形在页面上的中心位置输出    begin    left := (printer.pagewidth -temwd) div 2;    top := (printer.pageheight-temhi) div 2;    right := left+temwd;    bottom := top+temhi;    end;    with printer do    begin    begindoc;    canvas.stretchdraw(strect,imgpic.picture.graphic);    enddoc;    end;    end;
    2022-10-24 23:35:04下载
    积分:1
  • 696516资源总数
  • 106648会员总数
  • 8今日下载