高手请进来看看! 请教如何自定义菜单的一个事件(内详!)

kingfish 2002-10-18 08:26:43
1.BCB帮助中:MenuItem的OnAdvancedDraw (请注意:const)
typedef void __fastcall (__closure *TAdvancedMenuDrawItemEvent)(System::TObject* Sender, Graphics::TCanvas* ACanvas, const Windows::TRect &ARect, TOwnerDrawState State);


2.直接在Object Inspector中双击OnAdvancedDraw产生一下代码(无const)
void __fastcall TForm1::N1AdvancedDrawItem(TObject *Sender,
TCanvas *ACanvas, TRect &ARect, TOwnerDrawState State)
{

}


3.问题:如何自定义菜单项的OnAdvancedDrawItem事件???

由于我的菜单项是动态生成,必须在程序中指定OnAdvancedDrawItem

item->OnAdvancedDrawItem = myAdvancedDrawItem;
由于const的存在,此句编译自然通不过,即使强制转换类型也不行


void __fastcall TForm1::myAdvancedDrawItem(TObject *Sender,
TCanvas *ACanvas, TRect &ARect, TOwnerDrawState State)
{
//其中需要更改ARect
}


各位有什么转换方法或者其它办法?
...全文
191 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingfish 2002-10-18
  • 打赏
  • 举报
回复
用其它办法解决了,谢谢参与,散分!
hello_wyq 2002-10-18
  • 打赏
  • 举报
回复
这个还不简单,增加一个listener不就可以了。
比如:
void __fastcall TForm1::myAdvancedDrawItem(TObject *Sender,
TCanvas *ACanvas, TRect &ARect, TOwnerDrawState State)
{
//其他代码
。。。
yourHandlerForMenuItem(...);
}
kingfish 2002-10-18
  • 打赏
  • 举报
回复
To poplink(洋洋):

能否详细的说说?
poplink 2002-10-18
  • 打赏
  • 举报
回复
可以修改ARect的
我在这样用,没问题:
kingfish 2002-10-18
  • 打赏
  • 举报
回复
To bluebird97073(天道酬勤):
要自画菜单,必须要改ARect

UP,大家再看看
gfh21cn 2002-10-18
  • 打赏
  • 举报
回复
UP
如果说是你强制修改OnAdvancedDrawItem事件的参数类型
这样可以复制
但是不能修改ARect了

UP
bluebird97073 2002-10-18
  • 打赏
  • 举报
回复

public: // User declarations
__fastcall TForm1(TComponent* Owner);
void __fastcall myAdvancedDrawItem(System::TObject* Sender, Graphics::
TCanvas* ACanvas, const Types::TRect &ARect, TOwnerDrawState State);


void __fastcall TForm1::myAdvancedDrawItem(System::TObject* Sender, Graphics::
TCanvas* ACanvas, const Types::TRect &ARect, TOwnerDrawState State)

{
//其中需要更改ARect
}
内容概要:本文系统研究了开关频率大于谐振频率(fs>fr)工况下,移相混合控制LLC谐振变换器在低压增益区域的工作特性,深入分析其在变频与移相结合控制模式下的调制机理、工作模态划分及损耗分布规律。通过Simulink平台构建高保真仿真模型,对变换器在不同负载和输入条件下的电压增益、转换效率、关键器件电压电流应力等性能指标进行了全面仿真验证,重点探讨了其在低增益区间的软开关实现能力与效率优化潜力,旨在提升LLC变换器在宽范围输入输出应用中的动态响应与能源转换效率。; 适合人群:从事电力电子变换器设计、高频电源开发及相关领域的高校研究生、科研院所研究人员及企业研发工程师,要求具备扎实的电路理论基础、电力电子技术知识以及一定的Simulink仿真能力。; 使用场景及目标:①深入理解LLC谐振变换器在fs>fr条件下采用移相混合控制的内在工作机理与模态转换过程;②掌握利用Simulink搭建复杂谐振变换器精确仿真模型的方法与技巧;③分析并优化低压增益区的增益特性与损耗构成,为设计高效率、高功率密度的软开关电源提供理论依据和数据支持; 阅读建议:建议读者结合文中所述仿真模型,亲自复现仿真过程,重点观察不同控制参数(如移相比、开关频率)对电压增益曲线和关键波形的影响,并对比传统变频控制策略,深入探究混合控制在拓宽调压范围、提升轻载效率方面的优势,从而深化对现代高效谐振电源设计的理解。

13,872

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧