x11 Posted January 27, 2021 Share Posted January 27, 2021 Я указывал разные значения для FieldLabelWidth: 70, 80 и даже 100. Все равно подпись очень маленькая. А должно быть так, как на третьей картинке. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted February 22, 2021 Share Posted February 22, 2021 On 1/27/2021 at 5:06 PM, x11 said: Я указывал разные значения для FieldLabelWidth: 70, 80 и даже 100. На данный момент, попробуйте указать большое значение, например - 250 1 Quote Link to comment Share on other sites More sharing options...
Tokay Posted May 29, 2021 Share Posted May 29, 2021 object UniComboBox1: TUniComboBox Left = 35 Top = 55 Width = 174 Hint = '' Text = 'UniComboBox1' Anchors = [akTop, akRight] TabOrder = 0 ScreenMask.Enabled = True FieldLabel = 'Convert a web page Convert a web page Convert a web page' FieldLabelWidth = 300 FieldLabelAlign = laTop IconItems = <> end Добрый день. Скажите, можно ли как-то FieldLabel сделать шире, например, комбобокса и вообще любого подходящего компонента? Пробую FieldLabelWidth сделать шире, но это никак не влияет на ширину FieldLabel. Quote Link to comment Share on other sites More sharing options...
x11 Posted May 30, 2021 Author Share Posted May 30, 2021 а если с помощью CSS попробовать? Quote Link to comment Share on other sites More sharing options...
x11 Posted May 30, 2021 Author Share Posted May 30, 2021 Как вариант, использовать контейнер и внутрь кинуть элемент и метку Quote Link to comment Share on other sites More sharing options...
Tokay Posted May 30, 2021 Share Posted May 30, 2021 Css не знаю как сделать. А от элемента+метки хотелось бы отойти ) Как от архаизма. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted May 30, 2021 Share Posted May 30, 2021 13 hours ago, Tokay said: Добрый день. Скажите, можно ли как-то FieldLabel сделать шире, например, комбобокса и вообще любого подходящего компонента? Пробую FieldLabelWidth сделать шире, но это никак не влияет на ширину FieldLabel. Добрый день, Уточните, пожалуйста, Ваш случай. Quote Link to comment Share on other sites More sharing options...
Tokay Posted May 30, 2021 Share Posted May 30, 2021 А ж я его выше кинул. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 6, 2021 Share Posted June 6, 2021 On 5/30/2021 at 6:10 PM, Tokay said: А ж я его выше кинул. Я видел, но не понял Ваш вопрос. Поэтому и спросил... Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 6, 2021 Share Posted June 6, 2021 Мне необходимо, что бы метка (FieldLabel) была шире, чем сам TUniComboBox. Сейчас метка wrapp'ится по ширине TUniComboBox'а. От свойства FieldLabelWidth = 300 wrap никак не зависит. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 6, 2021 Share Posted June 6, 2021 Ок, я проанализирую. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 6, 2021 Share Posted June 6, 2021 1 hour ago, Tokay said: Мне необходимо, что бы метка (FieldLabel) была шире, чем сам TUniComboBox. Сейчас метка wrapp'ится по ширине TUniComboBox'а. От свойства FieldLabelWidth = 300 wrap никак не зависит. Да. Хочу отметить, что это нормальное поведение. Поскольку ширина combobox'а определяет максимальную ширину компонента в целом. Но, Вы можете использовать этот трюк, чтобы достичь желаемого результата: procedure TMainForm.UniFormCreate(Sender: TObject); begin with UniComboBox1 do if FieldLabel<>'' then JSInterface.JSConfig('minWidth', [Width + FieldLabelWidth]); end; Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 6, 2021 Share Posted June 6, 2021 Quote Да. Хочу отметить, что это нормальное поведение После TLabeledEdit поведение несколько неожиданное. Мне кажется, что лучше бы компонента учитывала размер указанный FieldLabelWidth. Quote Но, Вы можете использовать этот трюк, чтобы достичь желаемого результата: Результат не такой, какой нужен. Нужно что бы комбобокс был шириной 174. а метка была шириной 300, как это и указано в dfm. Ваш код расширяет и комбобокс и метку, а это не нужно. Нужно отображение подобное TLabeledEdit в VCL, если такое вообще возможно, спасибо. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 7, 2021 Share Posted June 7, 2021 5 hours ago, Tokay said: После TLabeledEdit поведение несколько неожиданное. ? 5 hours ago, Tokay said: Результат не такой, какой нужен. Нужно что бы комбобокс был шириной 174. а метка была шириной 300, как это и указано в dfm. Ваш код расширяет и комбобокс и метку, а это не нужно. Одно другому не противоречит? 5 hours ago, Tokay said: TLabeledEdit в VCL, если такое вообще возможно Возможно, Вы хотите установить FieldLabelAlign = laTop ? Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 7, 2021 Share Posted June 7, 2021 Quote Одно другому не противоречит? Как же оно может противоречить, если я явно задаю ширину метки, а вместо этого получаю врап на границе комбобокса? 😀 Тогда нужно или программно запрещать делать метку шире чем комбобокс или отрисовывать согласно установленному размеру. Если мне будет нужно отобразить заврпленную метку, то я ширину (FieldLabelWidth) трогать вообще не будут, то есть оставлю дефолтно = 0 и вот тогда, конечно, нужно её рисовать ровно по границе комбобокса. Quote Возможно, Вы хотите установить FieldLabelAlign = laTop ? Да. Уже установлено. Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 14, 2021 Share Posted June 14, 2021 Подниму. Шерзод, глянь, пожалуйста Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 14, 2021 Share Posted June 14, 2021 Может быть до сих пор непонятно что нужно? Приведу пример. Вот комбо с надписью сверху. Хочется что бы комбо осталось того же размера, а надпись растянулась, например, на 400 пикселей. К сожалению сейчас это невозможно: ширину FieldLabelWidth нельзя сделать больше чем ширина комбо. И это явно баг. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 14, 2021 Share Posted June 14, 2021 Я посмотрю. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 14, 2021 Share Posted June 14, 2021 9 hours ago, Tokay said: Вот комбо с надписью сверху. Хочется что бы комбо осталось того же размера, а надпись растянулась, например, на 400 пикселей. Попробуйте это решение: procedure TMainForm.UniFormCreate(Sender: TObject); begin with UniComboBox1 do if (FieldLabel <> '') and (FieldLabelAlign = laTop) and (FieldLabelWidth > Width) then JSInterface.JSAddListener( 'afterrender', 'function(me){'+ ' me.bodyEl.setStyle("position", "absolute");'+ ' me.bodyEl.setStyle("width", "'+ Width.ToString() +'px");'+ ' me.bodyEl.setStyle("min-width", "'+ Width.ToString() +'px");'+ ' me.setWidth('+ FieldLabelWidth.ToString() +')'+ '}' ); end; Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 15, 2021 Share Posted June 15, 2021 Сделал. Метка стала шире. Но выглядит как-то странно, комбо по высоте разъехалось вниз на сотни пикселей (на скриншоте часть формы): Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 15, 2021 Share Posted June 15, 2021 И для TUniEdit подобное решение поищите, пожалуйста. Комбобоксовое не подходит. Спасибо за ответы! Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 15, 2021 Share Posted June 15, 2021 2 hours ago, Tokay said: Сделал. Метка стала шире. Но выглядит как-то странно, комбо по высоте разъехалось вниз на сотни пикселей (на скриншоте часть формы): Сможете сделать тестовый случай? Quote Link to comment Share on other sites More sharing options...
Tokay Posted June 15, 2021 Share Posted June 15, 2021 Вот тестовый пример целиком test case.7z Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 15, 2021 Share Posted June 15, 2021 Тестовый проект, целиком, если возможно. Quote Link to comment Share on other sites More sharing options...
Tokay Posted July 2, 2021 Share Posted July 2, 2021 Up Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.