写了一个类: TAssMarking = class(TGraphicControl)
protected
procedure Paint; override;
end; procedure TAssMarking.Paint;
begin
inherited;
with Canvas do
begin
Brush.Color := clRed;
FillRect(ClientRect);
TextOut(20,20,'abcdefg');
end;
end;没有注册成控件,而是运行时直接动态创建调用。
AssMarking := TAssMarking.Create(Self);
AssMarking.Parent := Form1;
AssMarking.Show;为什么在窗体上显示不出来呢?跟踪发现Paint根本没有被调用。我查资料,不是说TGraphicControl会自动响应消息调用Paint吗?我看了TLabel的代码,也没有什么特别的地方啊。为什么我的就不行呢?
请大虾们解答一下,谢谢!
protected
procedure Paint; override;
end; procedure TAssMarking.Paint;
begin
inherited;
with Canvas do
begin
Brush.Color := clRed;
FillRect(ClientRect);
TextOut(20,20,'abcdefg');
end;
end;没有注册成控件,而是运行时直接动态创建调用。
AssMarking := TAssMarking.Create(Self);
AssMarking.Parent := Form1;
AssMarking.Show;为什么在窗体上显示不出来呢?跟踪发现Paint根本没有被调用。我查资料,不是说TGraphicControl会自动响应消息调用Paint吗?我看了TLabel的代码,也没有什么特别的地方啊。为什么我的就不行呢?
请大虾们解答一下,谢谢!
解决方案 »
- 初学 Hook ,简单的键盘 Hook,用了内存映象为什么不能 Hook 了呢
- 求助,线程异步执行的问题!
- 哪位能给我一个VCLskin的非Demo版本?
- 如何把另一表单中的字段插入到当前表的字段中?
- 求助!!Delphi调用VB写的COM的问题~~~在线等待~~
- 这样的SQL语句怎么写???
- 那位大侠能帮我解决三层体系中SocketConnection的稳定性问题
- 为什么我的鼠标HOOK始终无法进行全局的捕捉呢?
- 关于ADO联接的问题,在线等待,急!!!!!!!!!
- delphi中有editpopbox这个控件吗?有的话请说一下用法。
- 如何把表中的当前记录添加到另一个相同结构的表中?
- spcomm控件发送问题!!!
AssMarking.Parent := Form1;
AssMarking.Left := 50;
AssMarking.Top := 50;
AssMarking.Width := 200;
AssMarking.Height := 200;
AssMarking.Show;建议写在重载类的create,将高、宽等设置放入其中
AssMarking.Width := 200;
AssMarking.Height := 200;
就是缺了这两句,所以默认宽和高是0,当然显示不出来了!!!
郁闷啊!!!人老了,啥都想不动了~~~~谢谢大家,结贴,散分!