|
Вопрос # 5 239/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Использую MessageBox для вывода различных сообщений. На разных ОС (хр, 7) форма сообщения выглядит по разному, а именно на ХР строки текста сообщения длиннее чем в Win 7. Если не использовать #10#13 то форма сообщения получается очень широкой и не красивой.(
Есть ли способ задать авто перенос строк ? или другое решение...?
 |
Вопрос задал: mr_switch (статус: Посетитель)
Вопрос отправлен: 27 апреля 2011, 22:12
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 12; последнее сообщение — 3 июня 2011, 08:26; участников в обсуждении: 4.
27 апреля 2011, 22:25: Вопрос перемещён из тематического раздела Delphi » Оболочка Delphi, компилятор, версии среды и т.д. в раздел Delphi » Общие вопросы по программированию модератором Ерёмин А.А.
|
min@y™ (статус: Доктор наук), 28 апреля 2011, 08:31 [#1]:
Цитата (mr_switch):
Если не использовать #10#13 то форма сообщения получается очень широкой и не красивой.(
Ну дык используй #10#13, что тебе мешает-то?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mr_switch (статус: Посетитель), 28 апреля 2011, 11:42 [#2]:
min@y™: В программе уже используется много MessageBox - не хотелось бы их всех редактировать.
Может есть какие-то способы , задать форме MessageBox определенную ширину?
|
|
min@y™ (статус: Доктор наук), 28 апреля 2011, 11:50 [#3]:
Цитата (mr_switch):
В программе уже используется много MessageBox - не хотелось бы их всех редактировать.
Уууу, какой ленивый...
Цитата (mr_switch):
Может есть какие-то способы , задать форме MessageBox определенную ширину?
А хрен его знает, я никогда не заморачивался подобными проблемами.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mr_switch (статус: Посетитель), 28 апреля 2011, 14:04 [#4]:
решил написать вот такую функцию, которая вставляет в строку переносы после определенного кол. символов, перенос строки вставляется между словами. Может кому пригодится....
function str_transfer(str: string; c: Integer): String;
var
i:Integer;
begin
i:= c;
while PosEx(' ',str,i) > 0 do
begin
if PosEx(' ',str,i) > 0 then
begin
i:= PosEx(' ',str,i);
Insert(#10#13,str,i+1);
i:= i+c;
end;
end;
Result:= str;
end;
|
|
mirt.steelwater (статус: Посетитель), 2 июня 2011, 13:38 [#5]:
переопредели процедуру MessageBox
в ней вызывай конструктор формы и показ ее в модальном режиме
сообщение показывай в TMemo - к примеру
Ⓐ свобода сопротивление солидарность
|
|
min@y™ (статус: Доктор наук), 2 июня 2011, 13:49 [#6]:
Цитата (mirt.steelwater):
переопредели процедуру MessageBox в ней вызывай конструктор формы и показ ее в модальном режиме сообщение показывай в TMemo - к примеру
Ты, наверное, удивишься, но такая байда уже есть стандартная. Называется CreateMessageDialog(), находится в модуле Dialogs.pas.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
bugmenot (статус: 3-ий класс), 2 июня 2011, 14:23 [#7]:
Цитата (mr_switch):
На разных ОС (хр, 7) форма сообщения выглядит по разному Дык в этом и смысл виндового "оформления", "тем" и т.д.Цитата (mr_switch):
задать форме MessageBox определенную MessageBox - показывает не форму, а диалог, а сама функция системная, т.е. нативная для данной версии винды. Если это поведение не устраивает - то придется сделать свой диалог, и если лень то, как сказали выше, переопределить функцию и там показывать. (в принципе, наверно можно засабклассить и диалог MessageBox, но это обещает быть более трудоёмким чем предложенное решение) Цитата (min@y™):
такая байда уже есть стандартная Это для кастомизации совсем другого диалога.
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
min@y™ (статус: Доктор наук), 2 июня 2011, 15:05 [#8]:
Цитата (bugmenot):
Это для кастомизации совсем другого диалога.
Совсем другого - это какого?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
bugmenot (статус: 3-ий класс), 2 июня 2011, 16:31 [#9]:
Цитата (min@y™):
Совсем другого - это какого?
MessageDlg-подобного же! F1
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
min@y™ (статус: Доктор наук), 2 июня 2011, 17:01 [#10]:
Цитата (bugmenot):
MessageDlg-подобного же!
Ну дык и я про то же. Это ж удовлетворит аффтара вопроса.
Причём MessageDlg() тут совсем ни при чём, эта функция создаёт и возвращает форму.
Цитата (bugmenot):
F1
Ты меня поучи ещё! Я прекрасно знаю эту функцию и даже корректировал её исходник.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
bugmenot (статус: 3-ий класс), 2 июня 2011, 22:16 [#11]:
Цитата (min@y™):
Ты меня поучи ещё!
Я с вами коров не пас, не надо мне тыкать.
Цитата (min@y™):
Я прекрасно знаю эту функцию и даже
Тогда зачем было переспрашивать? "Забыл" чтоли?
Цитата (min@y™):
MessageDlg() тут совсем ни при чём, эта функция
Если бы виликий гуру снизошел до исходников, то увидел бы, что одна функция является оберткой для другой.
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
min@y™ (статус: Доктор наук), 3 июня 2011, 08:26 [#12]:
Цитата (bugmenot):
Я с вами коров не пас, не надо мне тыкать.
Нет, надо! Это интернет, тут все равны. И не надо мне выкать.
Цитата (bugmenot):
Тогда зачем было переспрашивать? "Забыл" чтоли?
Я говорил про функцию CreateMessgeDialog(), а не про MessageDlg().
Цитата (bugmenot):
Если бы виликий гуру снизошел до исходников, то увидел бы, что одна функция является оберткой для другой.
Снизошёл, посмотрел. Функция MessageDlg() является обёрткой для функции CreateMessageDialog(). И чо?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|