Delphi控件继承类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi控件继承类相关的知识,希望对你有一定的参考价值。

如果要写一个屏幕截图的控件,应该从哪个类继承?T

参考技术A 主要调用Tbitmap,TCanvas就可以了 代码如下procedure TForm1.snapscreen(a,b,c,d:Integer);
var
bmpscreen:Tbitmap;
jpegscreen:Tjpegimage;
FullscreenCanvas:TCanvas;
dc:HDC;
sourceRect, destRect: TRect;
begin
try
dc:=getdc(0);
fullscreencanvas:=Tcanvas.Create;
fullscreencanvas.Handle:=dc;
bmpscreen:=Tbitmap.create;
bmpscreen.Width :=c-a;
bmpscreen.Height :=d-b;
sourcerect:=rect(0,0,c-a ,d-b );
destrect:= rect(a,b,c,d);
bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect);
jpegscreen:=Tjpegimage.Create ;
jpegscreen.Assign (bmpscreen);
jpegscreen.CompressionQuality:=100;
jpegscreen.SaveToFile(ExtractFilePath(ParamStr(0))+'tmp.jpg');
FullscreenCanvas.Free;
bmpscreen.Free;
jpegscreen.Free ;
ReleaseDC(0, DC);
except
end;
end;
参考技术B 从TObject继承.

从抽象类继承的用户控件

【中文标题】从抽象类继承的用户控件【英文标题】:Usercontrols that inherit from abstract class 【发布时间】:2011-06-05 07:28:18 【问题描述】:

我有一个继承自抽象类的用户控件。基本上是这样的。

class SimpleSlideView : View




public abstract class View : UserControl



项目编译并运行良好。我可以将用户控件(从工具箱中)拖到表单中,并正确显示在设计器中。但是,如果我尝试在设计器中打开 SimpleSlideView 控件本身,则会收到以下错误:

设计者必须创建一个实例 'Animation.View' 类型,但它不能 因为类型被声明为 摘要。

我错过了什么?

【问题讨论】:

【参考方案1】:

您可以在这里找到可能的解决方案:How can I get Visual Studio 2008 Windows Forms designer to render a Form that implements an abstract base class?

【讨论】:

以上是关于Delphi控件继承类的主要内容,如果未能解决你的问题,请参考以下文章

Delphi_子窗体继承父窗体后如何显示父窗体上的控件

Delphi的类与继承

delphi 子窗体如何继承主窗体的方法

Delphi的类和对象- 继承

虚继承之单继承的内存布局(VC在编译时会把vfptr放到类的头部,这和Delphi完全一致)

阻止 VCL 子控件继承父弹出菜单