Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 5 / 1
Регистрация: 18.01.2010
Сообщений: 136
1

Почему не работает код, хотя вроде всё правильно

04.06.2012, 09:42. Показов 919. Ответов 3
Метки нет (Все метки)

Есть код. Предполагается, что при помещении текста в RichEdit текст будет подстраиваться под размеры окна.
Delphi
1
2
3
4
5
6
7
8
Rect: TRect;
SendMessage(RichEdit1.Handle,EM_GETRECT,0,LongInt(@Rect));
Rect.Top := Rect.Top+8;
Rect.Left := Rect.Left+10;
Rect.Right := Rect.Right-10;
Rect.Bottom := Rect.Bottom-10;
SendMessage(RichEdit1.Handle,EM_SETRECT,0,LongInt(@Rect));
RichEdit1.Refresh;
Но получается, что текст, который не помещается в окно, обрезается.

Оригинальный код был взят с C++, там он работает как надо (оригинальный код там же).
Миниатюры
Почему не работает код, хотя вроде всё правильно  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 09:42
Ответы с готовыми решениями:

Проверьте код, почему то не работает, вроде правильный
procedure TForm1.Button1Click(Sender: TObject); var a:array of integer; n,i,s,code:integer;...

Одномерные массивы. Все работает, вроде правильно. Как лучше организовать код!?
Задание: Ввести элементы одномерного массива размером 50 с использованием генератора случайных...

Почему код не правильно работает?
Вот использую код для загрузки нескольких файлов eml с последующей их обработкой - нужно из eml...

Задача на рекурсию - почему вроде бы ошибочный код внутри работает правильно?
Изучаю учебник C++, решаю задачки в конце глав. В одной задачке надо было написать рекурсивную...

3
421 / 351 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
04.06.2012, 09:59 2
Надо определить длину вводимого текста и уже от этого редактировать width твоего объекта.
длинну строки можно определить i:=length(s);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31466 / 20513 / 7988
Регистрация: 22.10.2011
Сообщений: 35,643
Записей в блоге: 7
04.06.2012, 10:07 3
Цитата Сообщение от mpdasa Посмотреть сообщение
Но получается, что текст, который не помещается в окно, обрезается.
Неправда, ничего не обрезается. Поведение совершенно аналогичное тому, что ты показал для Билдера. Приведи скриншот из Дельфи, чего ж ты разницу-то не показал сразу, если в Дельфи "не так"?
1
5 / 5 / 1
Регистрация: 18.01.2010
Сообщений: 136
04.06.2012, 11:50  [ТС] 4
Мистика! Ещё раз создал форму и вставил код. И заработало!!! До этого не работало Честное слово. Несколько раз пробовал. Наверное из-за того, что я код вставлял на форму, где уже проводил какие-то операции и не всё вычистил из старого кода. Спасибо.

Добавлено через 1 час 12 минут
Продолжение.
Данный код работает только если WordWrap=true.
У меня же задача состоит в том, что сначала в RichEdit вставляется 4-х строчный стих. Чтобы строки не ламались и не залазили на следующие строки, я переключил WordWrap на false. И далее с помощью этого кода я надеялся, что размер строк стихов подгониться под размеры окна. Но увы, увы увы.
Миниатюры
Почему не работает код, хотя вроде всё правильно  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2012, 11:50

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

Почему выдаёт ошибку? Вроде всё правильно!

Сервер выдаёт неправильный ответ, хотя, вроде, всё работает
Дана задача: №2 Друзья Саша и Паша живут на одной улице. Как то раз они договорились порешать...

Сервер выдаёт неправильный ответ, хотя, вроде, всё работает
Дана задача: №1 Геннадию интересно, сможет ли слон с поля x1, y1 побить пешку x2, y2 за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru