有什么方法可以解决在Form.Cavnas后的部分内容可以获得选中,输入焦点(296分)

  • 主题发起人 主题发起人 snrmtd
  • 开始时间 开始时间
在form上要输入文本的地方加一个Tedit控件,去掉他的边框不就行了。
 
TO wfzha
我的程序要求这样。。我也不想呀
 
A类的定义应该这样:
A=class(TCustomcontrol)
private
FLeft,FTop:Integer;
protected
procedure paint;override;
public
constructor create(aowner:tcomponent);override;
published
property Width;
property Height;
end;

另外这一句:a.Presant:=Form;
Presant是什么东东?
 
可能是想写Parent吧
 
打错了。哈哈哈
 
A=class(customcontrol)
应为A = Class(TCustomControl)
Create中加上Visibled := True;这句程序
 
放个Edit岂不全都满足了
 
to 蒋劲刚,
上面的代码我是自己随意写的,没有太用意去

to thx1180,
问题1我已民做好好
 
问题2,建议你参考stringgrid的做法,动态生成TEDIT去输入。
 
to 蒋劲刚
const const1=5;
type
c=class(TCustomControl);
B=class(C);
A=class(TCustomControl)
private
sCaption:C;
sText:B;
protected
procedure paint;
public
constructor create(AOwner:TComponent);
end;

...
constructor A.Create(AOwner:TComponent);
begin
sCaption:=C.Create(Self);
sText:=B.Create(Self);
sCaption.Parent:=Self;
sText.Parent:=Self;
sCaption.Left:=Left;
sCatpion.Top:=Top;
sText.Left:=Left+const1;
sText.Top:=Top;
end;
procedure A.paint;
begin
sCaption.PaintTo(Self.Canvas,Left,Top);
sText.PaintTo(Self.Canvas,Left,Top);
end;

我想问一下为什么只画出了sText的文本内容;而sCaption的文本没有画出来;怎么样可以让两者都画出来而不闪呢
 
请大家帮帮忙
 
sCaption.PaintTo(Self.Canvas,Left,Top);
sText.PaintTo(Self.Canvas,Left,Top);
两个画到一个位置上了![:)]
一般我的除闪方法是,在对象中声名一个FBITMAP私有成员,我所要画的内容都在它上画,画完后再画到对象本身的CANVAS上
 
你有QQ或MSN吗?我把MEMO发给你.你帮帮我看看问题在哪..我真的找不到了
 
算了,还是把QQ告诉我吧..我在QQ里问你好了
 
我没有QQ,我只有MSN:jiang_jg@hotmail.com
 
TO 蒋劲刚
C类中我也是画,他的功能就是将过长的文本自动换行后画出来;
B类在C类的基础 上,加了事件功能;就成了我的问题1的答案
A类里面包括要画一个C类对像,一个B类对像,
除了你说的那种方法,还有没有别的
 
后退
顶部