| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > автоматическая установка ширены Memo |
| Автор: Zero 25.3.2005, 23:42 |
| САБЖ. Есть mdb-файл. В нём один из атрибутов типа Memo. Нужно вывести содержимое ячейки в Memo так, чтобы размер Memo при этом автоматически установился и ни каких ползунков при этом быть не должно. Ширена определяется по размеру экрана, но дальше постоянная. |
| Автор: p0s0l 26.3.2005, 20:56 |
| Выставляй высоту Memo как произведение строк в мемо (Memo1.Lines.Count) на высоту одной строки... А ширина должны быть постоянной... |
| Автор: Zero 27.3.2005, 12:02 | ||
| p0s0l а ты не можеш предположить почему в одних местах высота устанавливается как надо, а в других то не хватает, то перебор. Хотя по такому коду наверно не определишь, но наверно лучше чем ничего:
|
| Автор: p0s0l 27.3.2005, 13:40 |
| Мдя Причина я думаю в числе 13.6 - откуда его взял ? Если у тебя бывает, что не хватает высоты, значит надо большее число брать... В принципе, его надо определять программно, а не просто так подбирать число экспериментально... |
| Автор: Zero 27.3.2005, 16:49 | ||||
Ето как и зачем? У меня высота офицально, ну покрайней мере в свойстве фонт как по умолчанию поставилось, вроде 12 так я его и не меняю, за исключением того, что числа могут быть заглавными. Но если тут поставить 12, что при большем количестве строк последние не видны становятся. Это опять делфи вроде глючит...
Да блин, вроде где то видел преобразование вещественных чисел в целые, но сюдня целый час переискивал в Фаронове, и как всегда когда что надо никогда не найдёшь, Вообщем если ты знаешь как програамно определить число заместо "13.6", то напиши пожалуйста. А так на всякий случай щас скину тебе на мыло прогу, для наглядности. |
| Автор: FRAGNATIC 27.3.2005, 17:05 | ||
а Round() не подходит? |
| Автор: Zero 27.3.2005, 17:29 | ||
А причём тут раунд и ширена шрифта |
| Автор: FRAGNATIC 27.3.2005, 17:31 |
| ой точно) вообще я это к тому вместо всех тех манипуляций с цифрами предложил) но он тож не подходит) |
| Автор: Zero 27.3.2005, 17:37 |
| Да мне главное придумать что за месть "13.6" надо ставить, |
| Автор: Zero 28.3.2005, 21:51 |
| Спасибо большое г-н Посол, теперь всё работает. Только я не пойму, почему твоим способом работает а моим нет, вроде у меня тоже всё достаточно лигично написано? |
| Автор: p0s0l 28.3.2005, 23:16 | ||
У тебя выставляется высота не Memo, а Panel'и, на которой лежит несколько панелей, и на одной из них наше Memo... Поэтому высота главной панели должна высчитываться как высота всех дочерних панелей + высота Memo... |