Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

Нумерованный список в RichEdit   Найти похожие ветки 

 
Колдун ©   (2006-09-20 14:40) [0]

Ворд умеет продолжать начатый, но разорванный список. Как бы это сделать программно в своём приложении на delphi?


 
Весь в делах   (2006-09-20 14:51) [1]

Именно в RichEdit?


 
Колдун ©   (2006-09-20 14:53) [2]

Именно в RichEdit


 
Колдун ©   (2006-09-20 15:17) [3]

Что, никто не знает ответа?


 
wal ©   (2006-09-20 15:21) [4]

А разве Rich поддерживает нумерованные списки?


 
Ketmar ©   (2006-09-20 15:35) [5]

нет.


 
Колдун ©   (2006-09-20 15:43) [6]

Кетмар, ещё как поддерживает


 
Колдун ©   (2006-09-20 15:45) [7]


procedure TForm1.Button1Click(Sender: TObject);
var
 fmt: TParaFormat2;
begin
  FillChar( fmt, SizeOf( fmt ), 0 );
  fmt.cbSize := SizeOf( fmt );
  fmt.dwMask := PFM_NUMBERING or PFM_NUMBERINGSTART or
                PFM_NUMBERINGSTYLE or PFM_NUMBERINGTAB;
  fmt.wNumbering := 2;
  /// wNumbering:
  // 0 - нет нумерации
  // 1 - маркированный список    (•, •, •, ...).
  // 2 - арабские цифры          (1, 2, 3, ...).
  // 3 - маленькие буквы         (a, b, c, ...).
  // 4 - большие буквы           (A, B, C, ...).
  // 5 - маленькие римские цифры (i, ii, iii, ...).
  // 6 - большие римские цифры   (I, II, III, ...).
  // 7 - последовательность символов Unicode/
  fmt.wNumberingStart := 1;
  /// wNumberingStart:
  //  Число, с которого начинается нумерация./
  fmt.wNumberingStyle := $200;
  /// wNumberingStyle:
  // Стиль нумерации
  // 0     :  1)
  // $100  : (1)
  // $200  :  1.
  // $300  :  1
  // $400  : убрать список
  // $8000 : продолжает нумеровать список не изменяя стиля/
  fmt.wNumberingTab := 1440 div 4;
  /// wNumberingTab:
  // расстояние между номером и текстом параграфа/
  RichEdit1.Perform( EM_SETPARAFORMAT, 0, lParam( @fmt ) );
end;



 
wal ©   (2006-09-20 15:47) [8]


> [6] Колдун ©   (20.09.06 15:43)
Как насчет простенького rtf-а вида

1. аа
2. бб
показать?


 
Колдун ©   (2006-09-20 15:53) [9]

То есть?


 
wal ©   (2006-09-20 16:01) [10]


> [9] Колдун ©   (20.09.06 15:53)
То есть:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset204{\*\fname Courier New;}Courier New CYR;}}
\viewkind4\uc1\pard\lang1049\f0\fs20 1. \"e0\"e0\par
2. \"e1\"e1\par
}

Только вместо 1. и 2. я хочу увидеть инструкцию для вывода нумерованого списка.

С уважением.


 
Колдун ©   (2006-09-20 16:06) [11]

Нет, не катит. Мне надо, чтоб я на кнопу нажимал, а список продолжался


 
wal ©   (2006-09-20 16:09) [12]


> [11] Колдун ©   (20.09.06 16:06)
Ну а мне надо, чтобы я только подумал, а программа написалась, и робота, чтобы за зарплатой и пивом бегал :)
Ну нету в Rich Text Format нумерованных списков


 
Колдун ©   (2006-09-20 16:13) [13]

Внимательнее прочитай код и проверь


 
Колдун ©   (2006-09-20 16:34) [14]

Получается, никто ничего не знает7 Может етсь другие компоненты, про которые вы знаете, ка крешить проблему?


 
Весь в делах   (2006-09-20 16:36) [15]


> Колдун ©

Можно поинтересоваться что из себя представляет вся задача?


 
wal ©   (2006-09-20 17:00) [16]

Приношу свои извинения, таки нашел нумерацию в rtf

С уважением.


 
Колдун ©   (2006-09-20 17:16) [17]

Задача представляет из себя следущее:

Предположим, есть списо элементов:

1. Книга1
2. Книга2
3. Книга3 (здесь нажато 2 раза Enter, и список разорван)

<Некоторые пояснения>

(здесь нажали кнопочку "Продолжить список")

4. Книга4
5. Книга5

<Ещё некоторый текст>

1. Здесь начинается
2. Новый список


 
Prohodil Mimo ©   (2006-09-20 17:27) [18]

А стартовых значений нет для списка?

Сам не могу глянуть, дока по RTF дома.


 
Колдун ©   (2006-09-20 17:44) [19]

Каких значений?


 
Колдун ©   (2006-09-20 19:54) [20]

Действительно, всех мой вопрос поверг в шок...


 
furyz ©   (2006-09-20 23:03) [21]

Есть Паула Тота какойто супер пупер рич едит


 
DiamondShark ©   (2006-09-20 23:45) [22]


> Колдун ©   (20.09.06 15:45) [7]

Сам спросил, сам ответил.


 
Колдун ©   (2006-09-21 08:41) [23]

Удалено модератором


 
Колдун ©   (2006-09-21 08:52) [24]

Удалено модератором


 
Prohodil Mimo ©   (2006-09-21 09:51) [25]

Тебя интересует, как выглядит RTF?
Или как програмно заставить нумеровать RichEdit?

Если первое, то создай в Ворде то что надо, сохрани в RTF и среди кучи мусора найди как это делается.
Если второе, то пиши анализатор текста :о)


 
wal ©   (2006-09-21 11:45) [26]

Есть два предложения:
1. От текущей позиции движемся вверх и ищем строку с нумерацией (wNumbering >1), продолжаем двигаться вверх и считаем строки с таким же wNumberingStart, к wNumberingStart прибавляем количество строк.
2. Спрашиваем юзера, с какого числа о хочет вести нумерацию.

С уважением.


 
Колдун ©   (2006-09-21 18:26) [27]

Меня не интересует, как выглядит RTF, это я и так знаю. Как программно его нумеровать, я уже написал выше. Читай внимательнее мой вопрос.

2 wal: 1. Как вы представляете себе это "движение"?
        2. Word ничего не спрашивает, он сам определяет это число


 
wal ©   (2006-09-25 10:27) [28]


> [27] Колдун ©   (21.09.06 18:26)
1. Обычно я это делаю циклом.
2. Я думаю, что в ворде внутренняя структура документа совсем не такая, как в rtf, и там следующий номер вычисляется проще, чем в 1.


 
Колдун111   (2006-09-26 17:29) [29]

Напишите пример цикла


 
Колдун111   (2006-10-06 21:23) [30]

Ну вот молчание ни во что не вылилось



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.041 c
15-1160051232
Kolan
2006-10-05 16:27
2006.10.29
Дизайн - хорошая штука, но как его реализовать.


2-1160722273
Леван
2006-10-13 10:51
2006.10.29
Текст на C++ в прогррамме на Delphi


2-1161074883
Dmitry_177
2006-10-17 12:48
2006.10.29
Запись в файл в DLL, THandle файла в разных процессах


15-1159866263
vitv
2006-10-03 13:04
2006.10.29
Я нашёл официальный русский MSDN.


2-1160806186
dreamse
2006-10-14 10:09
2006.10.29
Запись в реестр с ограничеными правами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский