困扰已久的窗体继承问题!(100分送人)

boyjason boyjason 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在实际应用中遇到窗体继承问题,困扰已久,故在此处发贴,希望能有高手帮助解决!

工程中有两个基类窗体BaseGrid和BaseEdit,分别是一个表格窗体和一个编辑窗体,而且表格窗体与编辑窗体是存在调用和被调用的关系,即在表格窗体上点新增或是修改按钮,会把编辑窗体显示出来进行操作,因为其他窗体基本上都是从这两个窗体继承而来且基本功能相同,故想偷偷懒,只在基类中写事件代码,但又不知该如何写。以下是我的部分代码及说明!
例如有4个继承窗体分别为FrmGrid1,FrmGrid2,FrmEdit1,FrmEdit2

在BaseGrid里写了一个过程,

procedure TFrmBaseGrid.ShowEditForm(FormClass:TFrmBaseEdit;sState:String);
var
Form:TFrmBaseEdit;
begin
Form:=FormClass.Create(application);
with Form do
begin
ActiveDs.DataSet:=QueryGrid;
if sState='sInsert' then
ActiveDs.DataSet.Append
else
ActiveDs.DataSet.Edit;
ShowModal;
end;
end;


然后分别在FrmGrid1,FrmGrid2中调用ShowEditForm(FrmEdit1,'sInsert');ShowEditForm(FrmEdit2,'sInsert');但调用时显示FrmEdit1和TFrmBaseEdit不是同一类,FrmEdit1不是从TFrmBaseEdit继承来的吗,怎么会这样,请高手帮忙指点一下并能给出解决方法




...全文

相关推荐

ACCESS窗体100例

ACCESS窗体100例 显示并激活已打开应用程序 按字母分类 字符串跑马灯: "running Text" ? 本文框的拖放(调用mdlDragDrop模块) 自动计算日期 ............ 绝对经典

limyu138

QSS陷阱解密:为什么你的QPushButton样式总被意外覆盖?

本文深入解析了Qt开发中QPushButton样式被意外覆盖的常见问题,详细介绍了QSS选择器权重体系、样式冲突的七大典型场景及解决方案。通过权重计算、调试技巧和工程化建议,帮助开发者有效解决QSS样式冲突,提升界面开发效率。特别针对QPushButton等自定义控件的样式设计提供了实用方法论。

黄海广

Qt QGraphicsView实战:从场景(Scene)到视图(View)的坐标转换避坑指南

本文深入解析Qt QGraphicsView中场景(Scene)、视图(View)和图元(Item)三套坐标系统的转换原理与实战技巧。通过详细的代码示例和典型问题解决方案,帮助开发者避免常见的坐标转换陷阱,实现精准的图形交互功能,提升Qt图形应用的开发效率。

LESSuseLESS

告别Winform默认丑按钮!用MaterialSkin快速打造Material Design风格界面(附图标避坑指南)

本文介绍了如何使用MaterialSkin库快速美化Winform界面,告别默认丑按钮,打造符合Material Design风格的UI。通过详细配置步骤和图标避坑指南,帮助C#开发者轻松实现专业级按钮样式和主题适配,提升应用视觉效果和用户体验。

weixin_30420305

设置子窗体相对父窗体打开的位置

资源是用MFC创建的子窗体打开时,设定其打开位置与相对父窗体的位置。免积分。谢谢。

xqwangc
评论 12
收藏 已收藏
分享
返回顶部
boyjason
Delphi 5,944 成员 262,941 内容