Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Свой объект  [new]
For Peace
Member

Откуда:
Сообщений: 188
Мое почтение Уважаемые коллеги!

Подскажите пожалуйста, есть ли возможность в фокспро 9 изменения стандартных объектов в панели инструментов т.е. грубо говоря могу ли я изменить объект label таким образом чтобы у него остались только свойства координат (top,left) и caption ну и пару методов по выбору, мне это нужно с целю уменьшения памяти занимаемые этими объектами т.к. их тыячи.

Спасибо за внимание.
15 ноя 07, 11:42    [4919630]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
Dima T
Member

Откуда:
Сообщений: 15282
For Peace
Мое почтение Уважаемые коллеги!

Подскажите пожалуйста, есть ли возможность в фокспро 9 изменения стандартных объектов в панели инструментов т.е. грубо говоря могу ли я изменить объект label таким образом чтобы у него остались только свойства координат (top,left) и caption ну и пару методов по выбору, мне это нужно с целю уменьшения памяти занимаемые этими объектами т.к. их тыячи.

Спасибо за внимание.
Такой возможности нет.
А зачем тысячи label`ов? на одну форму их точно не вместить. может пересмотреть подход к выводу информации?
15 ноя 07, 11:51    [4919693]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
h.i.a.
Member

Откуда:
Сообщений: 35
Не могу представить эту "стандартную" панель инструментов с тысячью label
15 ноя 07, 11:58    [4919753]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
For Peace
Member

Откуда:
Сообщений: 188
[/quot] Такой возможности нет.
А зачем тысячи label`ов? на одну форму их точно не вместить. может пересмотреть подход к выводу информации?[/quot]

Невероятно как это так, не верится что фокс на это не способен... а так на одну форму я прогрпммно размещаю несколько тысяч лейблов, только форма с прокруткой.
15 ноя 07, 12:08    [4919825]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
piva
Member

Откуда: Курган
Сообщений: 1096
Если тока текст размещать без методов то вполне можно обойтись
thisform.pset(x,y)
thisform.priint("Мой текст")
Если отрабатывать Click на них то можно вести в табле координаты и длину текста по TextWidth и определять кому это предназначалось - мозгов точно надо будет меньше
Прокрутку можно сделать если положить шейп на форму к примеру ;)
15 ноя 07, 12:16    [4919899]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
Dima T
Member

Откуда:
Сообщений: 15282
For Peace
Невероятно как это так, не верится что фокс на это не способен... а так на одну форму я прогрпммно размещаю несколько тысяч лейблов, только форма с прокруткой.

Почему неспособен, ты же размещаешь. А удаление лишних свойств/методов базового класса у объектов или производных классов в ООП в принципе не предусмотрено.

Просто есть два варианта:
1. Программист работает головой чтобы оптимизировать свой софт.
2. Пользователи вкладываются в железо чтобы не тормозило.

Не знаю зачем тебе столько label`ов, но если для эмуляции гипертекста, то лучше HTML-ку генерить и объект IE использовать
15 ноя 07, 12:40    [4920120]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
Рома Б.
Member

Откуда: Нижний Новгород
Сообщений: 72
Подозреваю, что такое огромное количество контролов связано с их программных генерированием во время выполнения по информации из некоей таблицы (таблиц). Сколько строк в таблице - столько контролов. (Или как-то так.) У меня была подобная задача. Когда я их генерил в модуле инициализации все разом, были жуткие тормоза. Пришлось генерить/уничтожать их по мере обращения к соответствующей строке таблицы. Всё получилось красиво и очень быстро. (Можно генерить/уничтожать их по мере обращения к совокупности строк.)
15 ноя 07, 13:38    [4920635]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
h.i.a.
Member

Откуда:
Сообщений: 35
Дык речь то вроде о тулбаре идет. В какое место туда таблицу засунуть?
15 ноя 07, 15:03    [4921167]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
h.i.a.
Member

Откуда:
Сообщений: 35
Показал бы скриншот чтоли. А так гадания на кофейной гуще получаются
15 ноя 07, 15:07    [4921190]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
For Peace
Member

Откуда:
Сообщений: 188
Рома Б.
Подозреваю, что такое огромное количество контролов связано с их программных генерированием во время выполнения по информации из некоей таблицы (таблиц). Сколько строк в таблице - столько контролов. (Или как-то так.) У меня была подобная задача. Когда я их генерил в модуле инициализации все разом, были жуткие тормоза. Пришлось генерить/уничтожать их по мере обращения к соответствующей строке таблицы. Всё получилось красиво и очень быстро. (Можно генерить/уничтожать их по мере обращения к совокупности строк.)


Да, именно об этом я и говорил... Спасибо за дельный совет. Я как то думал об этом но в связи с динамичной работой с лейблами, их слишком часто придется внедрять или убирать с формы и почемуто решил не применять такой подход...

от Piva
thisform.pset(x,y)
thisform.priint("Мой текст")
Если отрабатывать Click на них то можно вести в табле координаты и длину текста по TextWidth и определять кому это предназначалось - мозгов точно надо будет меньше
Прокрутку можно сделать если положить шейп на форму к примеру ;)

Тоже хороший подход... Но пользователь должен быть снайпером чтобы попасть в координаты точки... или вы предлагаете область от точки x+n,y+n... неплохо-неплохо
16 ноя 07, 09:43    [4923864]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
Рома Б.
Member

Откуда: Нижний Новгород
Сообщений: 72
Вообще, для подобных задач задумывался Grid и ListBox. А не изобретаешь ли ты велосипед? Может есть смысл использовать их (в т.ч. несколько), пусть даже в ущерб функциональности, но в пользу рентабельности. (Я имел дело с "виртуальными" контейнерами, базирующимися на абстрактном классе, где заранее неизвестно было, ЧТО ВООБЩЕ (буквально) будет изображено. И поэтому ни Grid, ни ListBox не подходили.)
16 ноя 07, 11:45    [4924703]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
For Peace
Member

Откуда:
Сообщений: 188
Рома Б.
Вообще, для подобных задач задумывался Grid и ListBox. А не изобретаешь ли ты велосипед? Может есть смысл использовать их (в т.ч. несколько), пусть даже в ущерб функциональности, но в пользу рентабельности. (Я имел дело с "виртуальными" контейнерами, базирующимися на абстрактном классе, где заранее неизвестно было, ЧТО ВООБЩЕ (буквально) будет изображено. И поэтому ни Grid, ни ListBox не подходили.)


У меня лейблы выполняют роль узлов схемы соединений, расположеные в определенном порядке они связываются линиями, с возможностью перемещения каждого лейбла соответственно с прорисовкой линий при перемещении. В общем, произвольный граф в виде узлов и линий. В случае вывода через pset и print грубо говоря получается геморрой - строки переносятся когда выходят за рамки экрана и причем ни в контейнер ни в другой объект кроме формы нет возможности рисовать в этом случае.
Думаю перейти на GDI+... Хотя и там не ахти скорость прорисовки :(
16 ноя 07, 12:01    [4924852]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
Рома Б.
Member

Откуда: Нижний Новгород
Сообщений: 72
У меня почти нет опыта работы с подобными задачами :( Не знаю, чё и предложить. Всё равно, конечно, хотелось бы, чтобы это не был просто рисунок, а именно совокупность объектов (со своими событиями и т.д.). Но раз даже такой примитивный объект, как label, не катит, то, наверно, придётся рисовать.

Можно также (как вариант) разбить всю картину на листы. Т.е. будет дискретная прокрутка по кнопкам <вверх>, <вправо> и т.д. Правда, если задача позволяет.
16 ноя 07, 13:32    [4925675]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
Dima T
Member

Откуда:
Сообщений: 15282
For Peace
В общем, произвольный граф в виде узлов и линий. ...

Под такие задачи есть специализированный софт, Visio например. Если у тебя тысячи узлов, то может стоит поизучать подобный софт на предмет интеграции с твоей прогой? На фоксе лучше написать вряд-ли получиться.
16 ноя 07, 17:10    [4927533]     Ответить | Цитировать Сообщить модератору
 Re: Свой объект  [new]
For Peace
Member

Откуда:
Сообщений: 188
Dima T
For Peace
В общем, произвольный граф в виде узлов и линий. ...

Под такие задачи есть специализированный софт, Visio например. Если у тебя тысячи узлов, то может стоит поизучать подобный софт на предмет интеграции с твоей прогой? На фоксе лучше написать вряд-ли получиться.

Именно того что касается поставленной мне задачи - все довольны , как говорится лишнего не добавишь, единств. проблемы с лейблами...
20 ноя 07, 00:44    [4936662]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить