用程序对控件的taborder 排序

procedure FixTabOrder(const Parent: TWinControl) ;
   var
     ctl, L: Integer;
     List: TList;
   begin
     List := TList.Create;
     try
       for ctl := 0 to Parent.ControlCount - 1 do
       begin
         if Parent.Controls[ctl] is TWinControl then
         begin
           if List.Count = 0 then
        L := 0
           else
           begin
             with Parent.Controls[ctl] do
               for L := 0 to List.Count - 1 do
                 if (Top < TControl(List[L]).Top) or ((Top = TControl(List[L]).Top) and (Left < TControl(List[L]).Left)) then Break;
           end;
 
           List.Insert(L, Parent.Controls[ctl]) ;
           FixTabOrder(TWinControl(Parent.Controls[ctl])) ;
           end;
         end;
 
       for ctl := 0 to List.Count - 1 do
         TWinControl(List[ctl]).TabOrder := ctl;
     finally
       List.Free;
     end;
   end;

发布了29 篇原创文章 · 获赞 12 · 访问量 13万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览