powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите новичку
25 сообщений из 32, страница 1 из 2
Подскажите новичку
    #33045295
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По этой ссылке нашла как расчитать количество строк в editbox, но так как я уж очень начинающий новичок, то не знаю как и куда все это вставить, подскажите пожалуйста, ну очень нужно.
Зараннее большое спасибо!!!

/topic/46115&hl=
...
Рейтинг: 0 / 0
Подскажите новичку
    #33047259
Андрей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чём задача, Катя?
...
Рейтинг: 0 / 0
Подскажите новичку
    #33047932
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что у меня слишком длинный текст и в одну строчку он не входит, мне нужно что бы текст вывелся в несколько строк и соответственно моя ячейка расширилась, вот.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33048165
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ячейка" - это Grid?

В такой постановке это не имеет смысла, поскольку высота всех строк и ячеек в Grid одинаковая. Т.е. не получиться "подогнать" высоту каждой ячейки под содержимое. Где-то будет больше, где-то меньше.

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

Или речь идет о чем-то другом?

В самом общем случае, расчет надо вести после того, как будет ясно какой именно текст будет отображен в данном объекте. Обычно, к событию INIT - это уже известно. Вот в INIT соответствующего объекта и попробуй выполнить вычисления.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049417
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ячейка" - это Grid, мне нужно подогнать высоту строк под максимальную.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049472
Андрей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Grid VFP8 есть метод AutoFit(), который как раз изменяет ширину колонок Grid по размеру строк.
А пустить текст в две строки в Grid не получится
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049480
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...если не использовать в качестве контрола в ячейке грида editbox. Но делать это как раз не стоит.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049557
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему не стоит использовать в качестве контрола в ячейке грида editbox?
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049592
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Urri...если не использовать в качестве контрола в ячейке грида editbox. Но делать это как раз не стоит.
Присоединяюсь к вопросу katrinochki
У меня в VFP5 работает EditBox в Grid нормально (пока :))
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049660
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ниужели нельзя ничего сделать?
Я пробовала вставлять editbox, но он показывает текст в одну строку, до тех пор пока на него не нет щелкнешь мышью, тогода все нормально, правда полоски пркрутки там бы ненужны были
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049691
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katrinochka"Ячейка" - это Grid, мне нужно подогнать высоту строк под максимальную.
А ты представляешь, что в этом случае надо сделать?

Надо просканировать все записи, которые будут отображаться в Grid и сделать расчет для каждой из них. Иначе, как ты определишь максимальное значение?

Кроме того, ведь ширина столбца Grid (как и высота строк) может меняться пользователем в процессе работы. Будешь делать пересчет после таких изменений? А как насчет изменения содержимого? Тоже пересчитывать.

Может, проще установить некоторую фиксированную высоту строк, например, чтобы в EditBox отображалось 3 строки. В большинстве случаев, этого вполне достаточно.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049742
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку?
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049753
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katrinochka!
Один из выходов из такой ситуации.
Я бы оставил GRID впокое, а сделал бы дополнительный элемент EditBox на форме, привязал ControlSource к полю таблицы (или view что у тебя имеет место). И при движении по записям GRID обновлял EditBox, чтобы пользователь мог полностью увидить содержимое этого поля. Конечно размер EditBox надо подрегулировать. Но с другой стороны скролинг позволит пользователю полностью увидеть содержимое.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049803
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это конечно не то что нужно, но если нет другого выхода, то попробую.
большое спасибо!!!!
...
Рейтинг: 0 / 0
Подскажите новичку
    #33049907
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katrinochkaя уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку?
Код: plaintext
Grid1.Column1.Sparce = .F.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33050691
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katrinochkaПочему не стоит использовать в качестве контрола в ячейке грида editbox?
Это я свое сугубо мнение излагаю. Оно, конечно, работает. Но я считаю, что так делать не нужно, потому что в моем представлении грид должен выполнять свои функции (предоставлять табличную информацию, где одна запись - одна строка), а эдитбокс - свою.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33050969
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.foxclub.ru/zhur/index.php?id=2&act=view
Поведение некоторых элементов в фоксе оценивается в первый момент. Уж знаешь
про это , знаешь, а все равно в очередной раз во что нибудь вляпаешься. Вот
возьмет grid , поместим в него editbox Конечно присвоим controlsource к
длинному полю какой нибудь таблицы. Высоту колонки сделаем большой. Чего
добиваемся , просто того , чтобы в гриде в текстовой коробке было видно
несколько строк. Вообще говоря, правильная работа этого элемента в гриде
зависит от alighment. Попробуйте правое выравнивание , увидите много чудес.
Но я сейчас не про это. Положим делаем не файл –сервер , а клиент сервер или
просто грид присоединяем не к таблице, а к курсору , который получен в
результате select sql. Другими словами в момент инициализации grid и
editbox эти элементы еще не знают длину полей, с которыми они будут
работать. Поле присваевается в коде . Ну вот, смотрим и не видим несколько
строк в editbox, длинные строки урезаны. Ну что делать. Сделаем липовую
таблицу с нужными длинами полей, присоединим ее в начальный момент к гриду и
editbox , а потом при создании нужного курсора оторвем их от этой таблицы и
присоединим к нужному источнику. Ну вот, совсем другой коленкор. Все
работает.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33051745
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
katrinochkaя уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку?
Что-то я не пойму прикола - стоит в гриде edit и прекрасно делает перенос длинных строк... И никакого Sparce... Всё по дефолту...
...
Рейтинг: 0 / 0
Подскажите новичку
    #33051784
katrinochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое прибольшое спасибо, все получилось как надо, помогло:

Grid1.Column1.Sparce = .F.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33052285
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redrik katrinochkaя уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку?
Что-то я не пойму прикола - стоит в гриде edit и прекрасно делает перенос длинных строк... И никакого Sparce... Всё по дефолту...
Sparce = .F. нужен для того, чтобы EditBox отображалсе не только в текущей (выделенной) ячейке Grid, но и во всех остальных ячейках Grid того же столбца. К переносу строк это никакого отношения не имеет.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33053458
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установка sparce в .F. дает "неразумный" размер grid'a...
Может растягивать строки "вовремя"? Например, так...
...
Рейтинг: 0 / 0
Подскажите новичку
    #33053468
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить - тут же можно и расчет забабахать... Нужная высота для текущего содержания Edit'a!
...
Рейтинг: 0 / 0
Подскажите новичку
    #33053482
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sparce на размер Grid никак не влияет! Тем более, что в твоем примере ты сделал кучу лишних "телодвижений".

Имя шрифта вообще не указано ?!
Ты зачем-то решил "динамически" менять высоту строки при входе в ячеку ?!

Если хочешь ставить эксперименты, то не должно быть никаких "лишних настроек". Создал Grid, добавил EditBox, установил Sparce=.F. ВСЕ! Не надо больше ничего "улучшать". По крайней мере, поймешь, что же именно делает эта настройка.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33053491
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedrikЗабыл добавить - тут же можно и расчет забабахать... Нужная высота для текущего содержания Edit'a!
А прочитать HELP по свойству RowHeight - ломает?

HELP VFP RowHeightSpecifies the height of all the rows in a Grid control
Т.е. невозможно установить разную высоту для разных строк. Высота будет установлена одинаковая для всех строк Grid.
...
Рейтинг: 0 / 0
Подскажите новичку
    #33053691
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМSparce на размер Grid никак не влияет!
Естественно! Sorry, если я где-то был некорректен! :-(
ВладимирМТем более, что в твоем примере ты сделал кучу лишних "телодвижений".
???
ВладимирМИмя шрифта вообще не указано ?!
??? Это был "огрызок" рабочей формочки... Чёрт его знает, куда делся шрифт... Я его специально не убирал... Там был Courier. Но никакого отношения к теме это не имеет!
ВладимирМТы зачем-то решил "динамически" менять высоту строки при входе в ячеку ?!
Не "зачем-то", а с целью "экономии места" в гриде! ;-)
ВладимирМЕсли хочешь ставить эксперименты, то не должно быть никаких "лишних настроек". Создал Grid, добавил EditBox, установил Sparce=.F. ВСЕ! Не надо больше ничего "улучшать". По крайней мере, поймешь, что же именно делает эта настройка.
И что я там такого "наулучшал"? 8-/
Но, большое спасибо за совет! Впредь буду делать только так, как Вы сказали! Раз уж Вы считаете, что Sparce для меня загадка... :-(
ВладимирМА прочитать HELP по свойству RowHeight - ломает?
Владимир, Вы сегодня чем-то раздражены?

Теперь подробнее о том, что я хотел сказать, или показать, или предложить...
1. Sparce нужен для отображения Edit'ов по ВСЕМУ Grid'у - нет вопросов и сомнений! Только тогда получаем ВЕЗДЕ текст с переносами - иначе будет только начало фразы... типа "Text"...
2. Делать заведомо высокими строки грида = терять объем полезной информации. Для навигации в гриде чаще всего будет достаточно видеть начало содержимого поля.
3. Поэтому нет необходимости в Sparce! Оставляем "обычную" высоту строк - пусть конкретный Edit "появляется" тогда, когда мы хотим в него попасть! А для того, чтобы Edit "раскрылся" с нужным нам размером - вычисляем количество строк, необходимую высоту Edit'а и устанавливаем RowHeight. И, конечно, оно будет одинаково для всего грида! ;-) Большой текст в текущей записи - высокие строки, всего пару слов - и увеличивать высоту не придется...

Конечно, на универсальный подход я тут не претендую! Кому как нравится, какая задача и т.п. Но грид в три-пять строк ради удовлетворения "максимально необходимой высоты" смотрится отвратительно... IMHO!
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите новичку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]