小吐槽Toolbar

最近弄界面 要吧全部图标改成PNG格式

虽说从2010以后Delphi默认支持PNG格式图片, 但是想应用到按钮上, 似乎除了TButton意外, 也只能ToolBar可以正常显示了, 其他的, 比如TSpeedButton一如既往死不悔改的依然只支持BMP

TButton有个最大的问题就是焦点, 点了以后焦点就跑到他身上去了, 虽说也能通过代码来跳回去, 可是太麻烦了, 幸好Toolbar上的按钮是没焦点的

可是这个万恶的Toolbar...@#$%^&*......平时横着看, 按钮只能一样长也就忍了, 哥可以不显示文字, 可是, 你左右排列的时候, 那个分隔线居然还会乱跑, 实在是让人虐心

比如这样这样或者这样....

更可恨的是, 在IDE界面 Toolbar左右排列后, 还不能用鼠标调整位置, 随便改点什么就乱了....

总之...在经历了1个半小时惨无人道的各种虐以后, 总算大概搞明白怎么玩他了

经历不说了..都是眼泪

结果就是, 如果想顺利的左右排列显示:

1.toolbar的autosize要设置为True

2.代码创建按钮和分隔线, 使用以下代码顺序:

    with TToolButton.Create(ToolBar1) do
    begin
      Caption := 'ToolButton ' + IntToStr(i);
      if i mod 2 = 1 then
      begin
        Style := tbsSeparator;
        Width := 8;
      end;
      Wrap := True;
      Parent := ToolBar1;
    end;

特别是设置parent, 一定要放到最下面, 否则.....各种虐心

另外, 设置了parent以后就不要乱动button的left或者top了, 否则你会发现界面操作变的很诡异.....-_-......

原文地址:https://www.cnblogs.com/lzl_17948876/p/4250867.html