制作一个新的PAGECONTROL控件(300分)

  • 主题发起人 主题发起人 bolo
  • 开始时间 开始时间
B

bolo

Unregistered / Unconfirmed
GUEST, unregistred user!
本人正在练习制作控件。要求如下:按钮栏可以实现IE化,即平板式(FLAT),最好
鼠标指向它就能出现下划线,颜色也发生变化。
奉上300分,要是有原程序再加200。
 
哪儿跟哪儿啊?我胡涂了 :-(
你的要求跟“PAGECONTROL控件”没有关系吧?
“按钮栏可以实现IE化,即平板式(FLAT)”——用CoolBar啊
“鼠标指向它就能出现下划线,颜色也发生变化”——颜色倒好理解,但是有下划线的
按钮我都想不到是什么模样。
 
兄弟,按钮出现下划线啊?
 
onMouseMove
yourbutton.font.style=yourbutton.font.style+[fs..]
 
IE风格的按钮,可以这样做
放一个coolbar,里面再放一个toolbar,如果要用toolbutton的话设置toolbar的flat为
true就行,如果是用speedbutton的话那么不要设置toolbutton,然后设置speedbutton
的flat属性,这个在demos目录下有例子。
要实现下划线的,那么只要在你想实现功能的控件的onmousemove时间中
改变控件.font.style的值就行了。
 
应在CMmouseenter和CMmouseExit里改变控件的font.style
 
Sorry,我的表达有点问题;
我想说的是:把TABSHEET的TAB一栏做成IE的风格。
 
我想你会提出这样的要求那么原来pagecontrol的那种flat是不符合你的需要的,是吧
给你一个建议,模拟pagecontrol的tab。假设你的pagecontrol有两页
在窗体上放一个coolbar,在coolbar上放一个toolbar,放两个speedbutton在toolbar上
设置speedbutton的flat属性为true,分别给它们的caption赋值为你原来要写在tab上的
字符串。
放一个pagecontrol在窗体上new两个新的页,设置align属性为alclient,style属
性为tsflatbuttons,tabheight为1;
在窗体的oncreate的事件中写入语句
for i:=0 to PageControl1.PageCount-1 do
PageControl1.Pages.TabVisible:=False;//去掉pagecontrol自带的tab
点击speedbutton1时写入语句
PageControl1.ActivePage:=TabSheet1;
点击speedbutton2时写入语句
PageControl1.ActivePage:=TabSheet2;//用这两个按钮模拟tab
大概就是这样了,至于下划线,颜色啦,应该都很容易了,在speedbutton的onmousemove
改变speedbutton属性就好了
 
还不如用老式的 TNoteBook 配合 TToolBar 。
 
我写了一个控件,如果你想要的话我可以发一份给你
是源程序....
 
说的一塌糊涂。
 
bolo:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
请认真阅读大富翁论坛规则说明 http://www.delphibbs.com/delphibbs/rules.htm
 
有个 flatstyle 控件
 
“鼠标指向它就能出现下划线”是指按钮上的文字罢
可以在其MouseMove事件下改变其Caption的字体格式
SpeedButton1.Font.Style :=[fsUnderline];
SpeedButton1.Font.Color := clBlue;

 
接受答案了.
 
后退
顶部