Я бы хотел, чтобы кнопки автоматического изменения размера сохраняли ту же ширину, когда некоторые кнопки невидимы. Я использовал код, подготовленный Andreas Rejbrand at this link, но проблема сложнее, когда я устанавливал некоторые кнопки невидимыми. В тех местах, где у нас есть невидимые кнопки, есть пробелы. Моя идея - проверить, сколько кнопок невидимо и следующий набор btnWidth в зависимости от количества видимых кнопок. Я действительно не знаю, как я могу проверить, невидимы ли кнопки в этом случае.Изменение размеров кнопок с одинаковой шириной, когда некоторые кнопки невидимы
Я хочу использовать TAdvGlowButton компонента для кнопок и TPanel компонента для панели и добавить OnResize процедуры панели, как показано ниже:
procedure TForm3.Panel4Resize(Sender: TObject);
var
i: Integer;
btnWidth: Integer;
begin
btnWidth := Panel4.Width div Panel4.ControlCount;
for i := 0 to Panel4.ControlCount - 1 do
begin
Panel4.Controls[i].Left := i * btnWidth;
Panel4.Controls[i].Width := btnWidth;
end;
end;
Не могли бы вы дать мне какие-либо идеи, как решить Эта проблема?
Вместо этого необходимо заменить панель Panel4.ControlCount на количество видимых элементов управления, а затем установить ширину и левое из этих видимых элементов управления (не все). Вам нужно будет отслеживать число, которое видимо, или сначала пропустить, чтобы подсчитать их до того, как вы пройдете цикл, чтобы изменить их размер/изменить. –