delphi CopyComponent动态复制控件组TabSheet,如何对对应的TabSheet组里的Memo进行操作?

lxdu120 2020-06-21 10:04:33
窗体里面有个 PageControl1.TabSheet1,里面有Memo,和Button
Button1的代码是:Memo1.Lines.Add('1111111');

我用 CopyComponent动态复制控件组PageControl1.TabSheet1
新复制出来的TabSheet(2)...TabSheet(N),里面也有Memo,和Button
现在的问题是,点新复制出来的Button,不会对对应的TabSheet里的Memo进行操作,还是对原来的TabSheet1里的Memo1.Lines.Add操作,Button的代码要怎么写才会对对应的TabSheet里的Memo进行操作?
求高手指点!!

var
a: TTabSheet;
i: integer;
begin
for i:= PageControl1.PageCount - 1 downto 1 do
PageControl1.Pages[i].Destroy;
for i:= 1 to SpinEdit2.Value - 1 do //复制数量
begin
RegisterClasses([TTabSheet, TMemo, tbutton, tpagecontrol, tmap]);
a := CopyComponent(TabSheet1, PageControl1, Self) as TTabSheet;
//a.Caption := inttostr( gettickcount );
a.Caption := Format('窗口%d', [i+1]);
UnRegisterClasses([TTabSheet, TMemo, tbutton, tpagecontrol, tmap]);
end;

以上代码复制出来TabSheet(2)...TabSheet(N),求对对应的TabSheet里的Memo进行操作
...全文
299 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxdu120 2020-06-24
  • 打赏
  • 举报
回复
引用 2 楼 tanqth 的回复:
给你一个思路:
先建一个共用的按钮处理过程,这个过程里就完成你Memo1.Lines.Add('1111111');的工作,但不是Memo1.Lines.Add('1111111');。(请注意这个过程很重要)过程里第一步是以查找自己的父级控件TTabSheet,然后查找TTabSheet下的TMemo,然后针对这个TMemo完成操作。

然后是,当完成复制时,去把按钮的事件指向到刚刚建的那个共用处理过程。



有代码示例吗?最好delphi的
zjg_1108 2020-06-24
  • 打赏
  • 举报
回复
单独定义一个指针过程,动态的给每个产生出来的button的单击事件赋值。
秋天之落叶 2020-06-24
  • 打赏
  • 举报
回复
在容器中复制粘贴控件要注意粘贴到了什么位置,粘贴到哪里记得把那里变为焦点,否则乱七八糟的,我就这样用过且很受伤。
tanqth 2020-06-22
  • 打赏
  • 举报
回复
给你一个思路: 先建一个共用的按钮处理过程,这个过程里就完成你Memo1.Lines.Add('1111111');的工作,但不是Memo1.Lines.Add('1111111');。(请注意这个过程很重要)过程里第一步是以查找自己的父级控件TTabSheet,然后查找TTabSheet下的TMemo,然后针对这个TMemo完成操作。 然后是,当完成复制时,去把按钮的事件指向到刚刚建的那个共用处理过程。
  • 打赏
  • 举报
回复
复制出来的memo的名字也不叫memo1,你的处理代码是Memo1.Lines.Add('1111111');当然不会显示在其他memo中了
内容概要:本文围绕2自由度(2DOF)机械臂的路径规划问题展开研究,重点利用Matlab工具实现路径规划算法的设计与仿真。文中系统阐述了机械臂的运动学建模方法,包括正运动学与逆运动学的数学推导与求解过程,并深入分析了其工作空间的范围与特性。研究核心在于路径规划算法的实现,涵盖了轨迹插值(如直线、圆弧插补)等核心方法,并通过Matlab编程对机械臂在复杂环境下的运动轨迹进行规划与优化,确保其能够避开障碍物并平稳、高效地到达目标位置。研究内容兼具理论深度与实践价值,通过具体案例验证了所提算法的有效性与实用性。; 适合人群:具备一定Matlab编程基础和机器人学基础知识的高校学生、科研人员及自动化、机器人相关领域的工程师;尤其适合从事机械臂控制、路径规划算法开发的技术人员。; 使用场景及目标:①用于教学演示和课程设计,帮助学生深入理解机械臂正/逆运动学求解、工作空间分析及轨迹规划的基本原理;②为工业自动化中轻型机械臂的轨迹生成与优化提供算法支持和可靠的仿真验证平台;③作为科研项目中路径规划模块的前期算法设计、对比与验证工具。; 阅读建议:建议读者结合Matlab代码同步运行文中示例,深入理解各函数模块(特别是运动学求解与轨迹生成)的作用,重点关注逆运动学的多解性处理与轨迹平滑性优化的实现逻辑,并尝试修改机械臂参数、目标点或环境条件以观察路径变化,从而掌握算法的调优方法。
内容概要:本文提出了一种基于变分模态分解(VMD)与卷积神经网络-双向长短期记忆网络(CNN-BiLSTM)相结合的电力负荷预测模型,旨在提升负荷预测的精度与稳定性。首先利用VMD对原始负荷序列进行自适应分解,将其划分为若干具有不同频率特性的本征模态函数子序列,有效降低原始数据的非平稳性与噪声干扰;随后通过CNN网络提取各子序列的局部时域特征与空间特征,再由BiLSTM网络充分捕捉长时间跨度的前后向时序依赖关系;最后将特征融合后输出最终预测结果。研究采用Python语言实现了完整的模型构建、训练与测试流程,并通过实际数据集上的对比实验证明,该混合模型在预测精度、收敛速度和泛化能力方面均优于传统单一模型及其他合模型。; 适合人群:具备一定Python编程基础和深度学习理论知识,从事电力系统分析、能源管理、智能电网或时间序列预测等相关领域的科研人员与工程技术人员,特别适合研究生及工作1-3年的青年开发者。; 使用场景及目标:①应用于电力系统短期负荷预测,为电网调度、发电计划制定、需求响应及电力市场运营提供可靠数据支持;②为研究人员提供一种有效的VMD与深度学习融合建模范式,促进高精度负荷预测方法的复现与进一步创新。; 阅读建议:建议读者结合所提供的代码深入理解VMD分解参数设置、CNN特征提取机制与BiLSTM网络结构设计,重点关注数据预处理、模型超参数调优及多步预测策略,通过实验对比不同模块的贡献度,以全面提升模型构建与优化能力。
内容概要:本文围绕概率最小均方(Probabilistic Minimum Mean Square Error, PMSE)自适应滤波器的设计与实现展开,系统阐述了其在信号处理领域的核心原理及工程应用价值。文章首先介绍了自适应滤波器的基本架构与工作机理,重点推导了PMSE算法的数学模型,并对比分析其相较于传统最小均方(LMS)算法在收敛速度、稳态误差和抗噪性能方面的显著优势。通过Matlab平台构建仿真环境,详细展示了该滤波器在噪声抑制、系统辨识等典型场景中的建模流程与实现步骤,涵盖参数初始化、迭代更新机制、误差计算与性能评估等关键环节。文中提供了完整的Matlab代码实现路径,帮助读者深入理解算法细节,并通过具体实验验证了PMSE滤波器在电力系统信号处理、通信信道估计、路径规划数据平滑等多领域应用的可行性与有效性。; 适合人群:具备一定信号处理理论基础和Matlab编程能力,从事电子信息、自动化控制、通信工程、电力系统等相关方向研究的研发人员及高校研究生。; 使用场景及目标:①深入掌握自适应滤波器的核心原理与PMSE算法的改进机制;②学习如何利用Matlab实现滤波器的建模、仿真与性能优化;③将其应用于实际工程项目中的噪声消除、系统建模、信道估计与信号增强等任务; 阅读建议:建议结合文中提供的Matlab代码与仿真实例进行动手实践,重点关注不同参数设置(如步长因子、滤波器阶数)对算法收敛性与稳定性的影响,同时对比PMSE与其他自适应算法(如LMS、NLMS)的性能差异,以深化对理论知识的理解并提升工程实践能力。

16,741

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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