Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и WinAPI

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
xcv
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 50
#1

Переход на новую строку в edit - Delphi WinAPI

29.05.2012, 18:01. Просмотров 2235. Ответов 4
Метки нет (Все метки)

Уважаемые гуру подскажите как организовать вывод текста в поле "edit" в несколько строк?
поле "edit" создаю следующим образом:
Delphi
1
Memo1 := CreateWindowEx(WS_EX_CLIENTEDGE, 'edit', nil, WS_CHILD or WS_VISIBLE or WS_VSCROLL or WS_HSCROLL or ES_AUTOHSCROLL or ES_MULTILINE or ES_WANTRETURN, 10, 10, ClientWidth-30, ClientHeight-80, Wnd, 202, hInstance, nil);
и дальше начинаю отправлять в него "сообщения" следующим образом:
Delphi
1
2
3
sendmessage(Memo1, EM_REPLACESEL, 0, longword(pchar('первое сообщение')));
sendmessage(Memo1, EM_REPLACESEL, 0, longword(pchar('второе сообщение')));
.....
так вот, все работает, но сообщения все появляются в одну строчку
Delphi
1
первое сообщениевторое сообщение
а хотелось бы чтобы каждое новое сообщение начиналось с новой строки
Delphi
1
2
первое сообщение
второе сообщение
как организовать такой вывод?
и попутно вопросик, можно ли запретить пользователю редактировать текст в поле "edit" не меняя его внешний вид ( "static" не красиво выглядит)?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2012, 18:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переход на новую строку в edit (Delphi WinAPI):

Переход на новую строку, Работа с типом string - Delphi
Доброго времени суток Господа ! Пожалуйста подскажите , как осуществить переход на новую строку в системном сообщении. Я подразумеваю...

SetWindowText не пишет строку в Edit - Delphi WinAPI
Добрый день! Поскажите пожалуйста, в чём может быть проблема Есть Edit: hEdite:=CreateWindow('edit', '0', ...

Автоматический перенос выходящего за рамки ячейки текста на новую строку - Delphi
Доброго времени суток, уважаемые форумчане! Вопрос значит такой. Как реализовать перенос текста, который не вмещается в ячейку. ...

Переход на новую строку в Edit - C++ WinAPI
создан EDIT CONTROL "", IDC_LOGS, "EDIT", ES_LEFT|ES_MULTILINE|ES_READONLY|WS_VSCROLL, 10, 60, 205, 50 вывожу в него строку ...

Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку? - C#
Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного слова, перезаписать в другой текстовый файл,...

Переход на новую строку - VBA
Доброго вечера всем! Не могу организовать переход на новую строку при каждом нажатии на кнопку. Сейчас выводятся значения только первой...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25523 / 17076 / 5413
Регистрация: 22.10.2011
Сообщений: 30,237
Записей в блоге: 6
29.05.2012, 18:14 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Посылай текст вместе с переводом строки: 'первое сообщение'#13#10

А по поводу второго - EnableWindow не устроит? Хотя, цвет текста чуть-чуть изменится.
Можешь также выслать контролу EM_SETREADONLY (я не думаю, что твоя программа пишется для Windows 3.0 )
1
xcv
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 50
29.05.2012, 18:29  [ТС] #3
с переносом все получилось спасибо, а вот при добавлении EM_SETREADONLY текст сообщений перешел в верхний регистр и по прежнему редактируется (странно)
Delphi
1
Memo1 := CreateWindowEx(WS_EX_CLIENTEDGE, 'edit', nil, WS_CHILD or WS_VISIBLE or WS_VSCROLL or WS_HSCROLL or ES_AUTOHSCROLL or ES_MULTILINE or ES_WANTRETURN or EM_SETREADONLY, 10, 10, ClientWidth-30, ClientHeight-80, Wnd, 202, hInstance, nil);
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25523 / 17076 / 5413
Регистрация: 22.10.2011
Сообщений: 30,237
Записей в блоге: 6
29.05.2012, 18:48 #4
Не-не. EM_SETREADONLY посылается уже созданному контролу через SendMessage, если ты хочешь установить стиль сразу в CreateWindow - добавляй ES_READONLY.
1
xcv
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 50
29.05.2012, 18:56  [ТС] #5
все работает, тему можно закрыть.
0
29.05.2012, 18:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2012, 18:56
Привет! Вот еще темы с ответами:

Переход на новую строку - VBA
Доброго времени суток. Тема не новая, но никак не могу применить к своей ситуации то что нашла в др. примерах. Итак, имеем 2 файла...

Переход на новую строку - C++
Доброго времени суток! у меня такая проблема: у меня стоит visual C++ 2008 и я не могу перейти на новую строку. Пробывал с помощью \r\n и...

Переход на новую строку - 1С
У меня есть имя человека полное ФИО которое выводиться в строку макета, а мне надо что бы после фамилии имя и отчество переходили на новую...

SE Переход на новую строку - JAVA IDE
При переходе на новую строку вставляет квадратики в выводе. Раньше такого не было. Раньше просто переходило а новую строку без каких либо...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru