[问题] Firemonkey 控件继承后无法显示(空白)

提问:如下安装后的 TMyPanel 能在设计期时正常显示,但 TMyPanel2 在设计期时是白板,不能正常看到,为什么?

TMyPanel = class(TPanel)
end;

TMyCustomPanel = class(TPanel)

TMyPanel2 = class(TMyCustomPanel)
end;

RegisterComponent(‘Test‘, [TMyPanel, TMyPanel2]);

可能:是隔代无法继承 Style 造成的,改成如下就可以了:

TMyPanel = class(TPanel)
end;

TMyCustomPanel = class(TPanel)
end;

TMyPanel2 = class(TMyCustomPanel)
  protected
    function GetDefaultStyleLookupName: string; override;
end;

function TMyPanel2.GetDefaultStyleLookupName: string;
begin
  Result := ‘panelstyle‘;
end;

ps. 这里 QQ 群里的问题,记录一下。

时间: 2024-10-22 03:04:57

[问题] Firemonkey 控件继承后无法显示(空白)的相关文章

DevExpress某些控件继承后的可编辑性

今天在使用DevExpress的BarManager菜单控件时,发现在进行继承时无法在继承的子类窗体中对其进行编辑与修改,另外像GridView也有类似的情形,后来查阅资料后,现在可通过DevExpress的设置解决此问题,方法为: 开始->DevExpress X.XX->tools->WinForms X.XX Design-Time Settings 选中Enable visual...,如下图所示,即可.

FireMonkey图形控件继承关系

FireMonkey 的控件都是自己绘制的(而不是基于系统组件), 我想它们应该是基于一些基本图形; 就从基本图形开始吧. FMX.Objects 单元给出的类: TShape //基本图形的基类 TLine TRectangle TRoundRect TCalloutRectangle TEllipse TCircle TPie TArc TPath TText TImage TPaintBox TSelection TSelectionPoint 添加一个 TRectangle, 先纵观一下

强制IE浏览器或WebBrowser控件使用指定版本显示网页

强制IE浏览器或WebBrowser控件使用指定版本显示网页 自从装了IE10之后,就发现好些个网站显示都不是那么的正常,网站上有些功能竟然还会出现一些意想不到的BUG——本来就是针对IE开发的,现在IE下竟然用不起来了,让用户情何以堪?但是就为少量用户使用的系统去大动干戈的调整功能,这实在是让人头疼!在经过一番折腾之后,竟然找到一个非常M$的方法来解决 —— 强制高版本的IE浏览器用低地版本模式显示网页. 就是直接让IE10默认以指定的IE版本的浏览器模式来运行,并用这个指定的版本来进行解析页

【转】PropertyGrid控件中的多级显示

运行效果: 解决方案: MainForm.cs public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { CProvincialCapital proCap = new CProvincialCapital("南京市", 10000000); CProvince pro

在控件的任意位置显示图片

在控件的任意位置显示图片 效果图 xml代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&

C#动态添加控件到窗体不显示

在FormLoad里面添加控件时,用this.Controls.Add()方法向窗体里面动态添加控件,调试,一直不显示,后来发现原来窗体上有一个groupbox覆盖了整个窗体,其实控件已经添加上去了,只是被遮盖了. 后面改为this.groupBox1.Controls.Add(),把控件添加到groupbox里面就不会被遮盖了 1 private void UniqueForm_Load(object sender, EventArgs e) 2 { 3 if (pFlag == 1) 4 {

js设置控件的隐藏与显示的两种方法

js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了,下面有个示例,需要的朋友可以参考下用JavaScript隐藏控件的方法有两种,分别是通过设置控件的style的“display”和“visibility”属性.当style.display="block"或style.visibility="visible"时控件或见,当style.display="none"或style.visibility=&qu

JavaFX 初学入门(一):FXML嵌套与原始控件继承

说明 之前由于做一个小项目需要用swing,结果swing把我折腾的够呛.后来得知有javaFX这个类似于C#中WPF形式的利用XML来写界面的框架之后,马上就转到javaFX上了.找过一些资料但是帮助都不大,最后还是选择直接看官方demo.(我之前是做过android app,有些东西其实都是差不多的.) 下面选取官方demo中的一个 UnlockCustom . 这个demo中涉及到 继承原始控件(自定义),FXML 布局嵌套,以及一些控件动画等. 一.javaFX的入口函数 整个javaF

GridView控件通过bit值显示复选框状态

前几天用VS2013做了一个Asp.net下用GridView控件显示数据选中状态的小例子,引发了关于bit的一些新认识. 先简单说说我这个例子吧. 在VS里新建一个web窗体,然后拖入一个GridView控件,绑定Sql Server数据库里的数据源,再通过设置模板添加一个新列.在这个列中加入一个CheckBox控件,然后绑定到数据库里的字段. 开始我设置这个字段的类型为varchar,字段的值为True.False等.绑定后却无法达到想要的效果,即F5后网页内数据库isText字段值为Tru