看到你在另外一个帖子里的http://topic.csdn.net/u/20090716/23/8cd7b5ad-ea1e-4f4f-991c-0fa9707f29fc.html?8657的一种方法,我测试了下。但是我把Label放在CheckBox上的时候,一运行Label就在CheckBox下一层了。如何设置Label始终在Checkbox上面?问题比较低级,帮个忙呵呵!

解决方案 »

  1.   

    用DynamicSkinForm
    里面的spskincheckbox就是XX的貌似。
      

  2.   

    三国,我在Formshow中设置了label1.bringtofront怎么没什么效果呢
      

  3.   

    一运行,焦点就在CheckBox上了!
      

  4.   


    是因为CheckBox的TabOrder值为0,且TabStop:=True
    你把TabStop设置为False,焦点就不会在CheckBox上,但此时按Tab键时焦点也不会停靠在CheckBox上
    要使焦点按Tab键停靠在CheckBox时,重新把TabStop设置为True
      

  5.   

    谢谢yxbv84267的提醒!
    为什么Label还是被checkbox给覆盖了呢?用了label1.bringtofront
      

  6.   

    你的Label是覆盖整个CheckBox(包含选择框)吗?
      

  7.   

    BringToFront对Label是无效的,只有有TabStop属性的控件使用BringToFront才有效
      

  8.   

    你可以考虑用面板TPanel控件来代替Label,TPanel有TabStop属性可以使用BringToFront有效
      

  9.   

    谢谢yxbv84267,果然如你说的!
    又让我长见识了!
      

  10.   

    BringToFront 方法说明 对应对象:TControl声明:procedure BringToFront;功能:BringToFront方法用来改变控件轴的次序,并吧它放置在所有其他控件的上面。每一个窗口和非窗口的控件都有对应的Z轴次序。每个窗体上的窗口控件都在相
    同的Z轴次序上,每个非窗口的控件在一个独自的Z轴次序集合中。一个窗体
    上的所有窗口控件存在于一个Z轴次序集合中,所有的非窗口控件在另一个的Z
    轴次序集合中。窗口的控件总是出现在非窗口控件的上面,窗口控件下面的非窗
    口的控件将不能使用BringToFront方法出现在窗口控件的上面。说明:
      非窗口控件指没有TabStop属性的控件
      窗口控件指有TabStop属性的控件
    参考资料:Delphi_RTL_VCL.chm  //资料说明Vcl个别属性与Delphi各函数说明  例子:procedure Tform1.Button2Click(Sender:Tobject);
    begin
      Button1.BringToFront; 
      Label1.BringToFront; //使用无效
    end;