Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26304
Рейтинг: 2146
#31: 2009-11-30 14:37:11 ЛС | профиль | цитата
Dilma писал(а):
это чего за свойство?

Это не свойство, это поле контрола, которое отвечает за вывод в поле Edit.

У Combo есть переменная Text

*Text=Хранит список строк, разделённых символами 10 и 13|3|2
и свойство Text

Text=Определяет текст в поле ввода|2|ComboBox
Так вот народ просит, что бы это свойство отображалось в RealTime, а не только в DesignTime
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#32: 2009-11-30 14:37:43 ЛС | профиль | цитата
приведенная схема работает правильно
------------ Дoбавленo в 14.39:
nesco, насколько я могу судить раньше работало и это

#pas
with Control{$ifndef F_P}^{$endif} do
begin
Text := _prop_Text;
....
end;

сегодня не работает ни Text, ни Caption - вывод напрашивается сам собой
карма: 27
0
Разработчик
Ответов: 4698
Рейтинг: 426
#33: 2009-11-30 14:40:52 ЛС | профиль | цитата
nesco писал(а):
Так вот народ просит, что бы это свойство отображалось в RealTime, а не только в DesignTime

Совершенно верно
карма: 10
0
Администрация
Ответов: 15295
Рейтинг: 1519
#34: 2009-11-30 14:43:06 ЛС | профиль | цитата
а вот и корень проблемы


procedure THIComboBox.SetIconsManager;
begin
if value <> nil then
begin
fIconsManager := value;
if Assigned(_prop_BoxDrawManager) then
ItemHeight := max((value.imgsz + _prop_BoxDrawManager.AddSize * 2), Control.Canvas.TextExtent('W').cy);
end;
SetStrings(_prop_Strings); // <-- this
end;

карма: 27
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#35: 2009-11-30 14:44:02 ЛС | профиль | цитата
Dilma писал(а):
ни Caption

Caption работает, я проверял, он нормально выводит в поле Edit. Я запускал Combo на старых версиях, и нифига не отображается текст в поле ввода. Если заменить

Text := _prop_Text
на

Caption := _prop_Text
то это будет полностью соответсвовать

Text=Определяет текст в поле ввода|2|ComboBox

------------ Дoбавленo в 14.45:
Dilma, и чего делать в этом случае, в Init секции не хочет инициализировать список строк, у меня не получилось
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#36: 2009-11-30 14:48:09 ЛС | профиль | цитата
nesco писал(а):
в Init секции не хочет инициализировать список строк, у меня не получилось

наблюдаю обратный результат
карма: 27
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#37: 2009-11-30 14:48:55 ЛС | профиль | цитата
Короче, делаем вот так


procedure THIComboBox.SetIconsManager;
begin
if value <> nil then
begin
fIconsManager := value;
if Assigned(_prop_BoxDrawManager) then
ItemHeight := max((value.imgsz + _prop_BoxDrawManager.AddSize * 2), Control.Canvas.TextExtent('W').cy);
end;
SetStrings(_prop_Strings);
Control.Text := _prop_Text;
end;

И все будет работать
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#38: 2009-11-30 14:52:19 ЛС | профиль | цитата

#pas
inherited;
with Control{$ifndef F_P}^{$endif} do
begin
SetStrings(_prop_Strings);
Caption := _prop_Text;
OnSelChange := _OnClick;
if ManFlags and $8 > 0 then OnDrawItem := _OnDrawItem;
end;
------------ Дoбавленo в 14.55:
nesco, а перестало это работать после вот этой замечательной оптимизации

#pas
Control.Perform(WM_SETREDRAW, RDW_NO, 0);
Control.Clear;

именно по этой причине я и хочу сокращать число правок в тарых элементах до минимума. Иначе это никогда не кончится.
карма: 27
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#39: 2009-11-30 14:55:58 ЛС | профиль | цитата
Dilma, это не хочет работать с менеджером отрисовки, хоть ты лопни. Только его отключаешь, все работает. Что, будем делать одно в ущерб другому, я предложил решение проблемы для обоих случаев и для нормальной работы и для пользовательской отрисовки
------------ Дoбавленo в 14.57:
Dilma писал(а):
а перестало это работать после вот этой рамечательной оптимизации

Скорее всего нет, а после того, когда был сделан и добавлен менеджер отрисовки
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#40: 2009-11-30 14:58:31 ЛС | профиль | цитата
nesco писал(а):
Скорее всего нет

что значит "Скорее всего" ? Control.Clear очищает список и поле ввода. Откуда тут еще варианты?
------------ Дoбавленo в 15.04:
nesco писал(а):
это не хочет работать с менеджером отрисовки, хоть ты лопни

пример?
карма: 27
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#41: 2009-11-30 15:05:12 ЛС | профиль | цитата
Dilma писал(а):
Откуда тут еще варианты?

Попробовал убрать, никакого толку. С менеджером пункты не отображает. Вот почему я и засунул SetStrings(_prop_Strings) в SetIconsManager
------------ Дoбавленo в 15.09:
Dilma писал(а):
пример?

Вот


Add(MainForm,12406820,616,259)
{
Width=376
}
Add(ComboBox,280448,665,245)
{
Top=5
Width=305
Height=21
Strings=#1:0|1:1|1:2|1:3|
Text="Мой текст в поле ввода компонента"
BoxDrawManager="draw"
IconsManager="icon"
Point(EditText)
}
Add(Message,3227233,679,315)
{
link(Message,280448:EditText,[])
}
Add(Button,7146697,616,315)
{
Left=305
Top=5
link(onClick,3227233:doMessage,[])
}
Add(BoxDrawManager,15910026,665,189)
{
Name="draw"
}
Add(IconsManager,1125834,714,189)
{
Name="icon"
Icons=[]
}

Пункты не отображаются при твоей правке

В последней редакции, я принудительно переключаю на ReadOnly, иначе, коряво работает Edit поле, поэтому, текста и не будет в поле Edit
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#42: 2009-11-30 15:22:22 ЛС | профиль | цитата
nesco писал(а):
С менеджером пункты не отображает. Вот почему я и засунул SetStrings(_prop_Strings) в SetIconsManager

это из-за OnMeasureItem:= _OnMeasureItem; а не SetStrings. Вот с этим и следует разбираться.
карма: 27
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#43: 2009-11-30 15:30:25 ЛС | профиль | цитата
Dilma писал(а):
Вот с этим и следует разбираться

Мда... И какие будут предложения
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#44: 2009-11-30 15:45:26 ЛС | профиль | цитата
Че-то не понял, обновился сейчас с svn, и HiAsm все схемы хоть как-то связанные со свойствами типа StrList стал игнорировать и выдавать ошибку при загрузке, а при добавлении в схему StrList,ComboBox,ListBox... св-во Strings выдает ошибку
------------ Дoбавленo в 15.49:
Не, вообще все что связано со строками StrCat, StrMask...
карма: 10
0
Разработчик
Ответов: 26304
Рейтинг: 2146
#45: 2009-11-30 16:02:54 ЛС | профиль | цитата
И схема с ошибкой где Может связано с новым Win под FPC от Минковского
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)