TEdit类的paint部分在哪里实现的?!高手请进!!(200分)

  • 主题发起人 主题发起人 aorgel
  • 开始时间 开始时间
A

aorgel

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue]本人想做一个编辑控件,但格式、排版方式与tedit类完全不同,从左到右竖写
,跟踪tedit类的delphi源码不知它的paint方法在哪里实现的(也就是文字的输出)?Twincontrol有对WM-paint消息
的处理方法可与edit无关,哪位高手能告诉我:edit控件中输入文字时的delphi处理过程
或原理比如:键盘输入A时-》edit捕获keypress事件-》Twincontrol用
procedure TWinControl.KeyPress(var Key: Char);
begin
if Assigned(FOnKeyPress) then FOnKeyPress(Self, Key);
end;
过程传递消息-》最终对edit的paint在哪里呢?[/blue]
 
从左到右竖写的Tedit控件已经有人写了!
去找来看看吧!
 
[blue]在哪里能找到???[/blue]
 
不可能找到,TEdit是Windows标准控件,并重绘由Windows自动完成.
 
[blue]难道没有别的办法?[/blue]
 
有!
重新写TCustomEdit,原来是TCustomEdit 继承 TWinControl ,
改成继承自TWinCustomControl,再重载Paint 方法.
TCustomEdit=TWinControl 改成TCustomEdit = TWinCustomControl,
其实大部分代码可直接COPY..具体就看你的功力了..
 
请参考
http://211.101.4.25/delphibbs/dispq.asp?lid=331562
 
在你自己所写的控件写上去不就行了么!
privte
proccedure Paint() ;override ;
begin
inherited ;
//你的代码
end
 
接受答案了.
 
后退
顶部