| 
| 
 | Вопрос # 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. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |