在我看来这是超级难的问题~!无法赋值~!急死人~!(100分)

  • 主题发起人 主题发起人 lyws519
  • 开始时间 开始时间
L

lyws519

Unregistered / Unconfirmed
GUEST, unregistred user!
写了一个控件,是用来显示压力的。父类用的TCustomControl,用一个过程WMPaint(Var Message:TMessage);Message:WM_Paint;把所有的东西都画了出来。编译以经全部通过,但现在有几个问题,如下:
1.我设定了一个属性FaceColor,我在Object Inspector的FaceColor中选择颜色时,都必须在窗体上点一下鼠标才行,这样颜色才会变。而不是选上就会变。对比一下Font中的Color做着试一下就知道我在问什么了。其它我定义的属性有同样的问题,如MaxValue,MinValue,PressValue等等

2.不能对我定义的属性赋值。[red]该问题超级严重[red]。在窗体上放一个我写的控件,在放一个按钮,双击按钮在其中加入如下代码
procedure TForm1.Button1Click(Sender: TObject);
begin
PressureGauge1.PressValue:=30;
end;

指针并不能如愿指示到30那个刻度上,请问这是为什么啊?如果不能赋值的话这太严重了。这是怎么回事呢?[red]怎么解决这个问题啊?[red]请大家帮帮我。我是一个新手,可能delphi还没有入门,恳请大家帮帮我。


3.控件图标文件我没有加进去呢?我用Image Editor自己随便画一个图标,在Interface里边加了{$R PressureGauge.dcr},可是控件面板上没有显示我的图标呢?

附原程序。该控件名为TPressureGauge,安在MyComponent面板上。高手需要设置一下。
http://bbs.2ccc.com/attachments/2006/lyws519_200674152123.rar

这里怎么附件啊?
 
把你的update换了,Invalidate;
 
覆盖OnPaint事件,当在property这进行修改时,让控件重绘
 
应该是你没响应它的colorchang这个消息
 
感谢莉叶菱,问题解决。。。我去搜索update和invalidate去。找到的资料一会儿贴回来。送上100分~!
 
后退
顶部