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

Вниз

Как установить отступ в ричэдите у всех абзацев?   Найти похожие ветки 

 
TStas   (2012-05-17 12:31) [0]

Почему-то SelectAll и Paragraph.LeftIndent := 10 ничего не даёт


 
TStas   (2012-05-17 12:57) [1]

Вопрос снят. Это делается так:
procedure TStCodeEditor.SetIndents;
var
 S, L: Integer;
begin
 S := SelStart;
 L := SelLength;
 Lines.BeginUpdate;
 SelectAll;
 Paragraph.LeftIndent := 15;
 Paragraph.FirstIndent := 15;
 Paragraph.RightIndent := 10;
 SelStart := S;
 SelLength := L;
 Lines.EndUpdate;
end;


 
Юрий Зотов ©   (2012-05-17 14:40) [2]


> TStas   (17.05.12 12:57) [1]

Маленькая поправка. Парные операции лучше выполнять так:

Lines.BeginUpdate;
try
 ...
finally
 Lines.EndUpdate
end;


 
TStas   (2012-05-17 23:46) [3]

А может быть исключение?


 
Юрий Зотов ©   (2012-05-18 01:00) [4]


> TStas   (17.05.12 23:46) [3]

Оно всегда может быть. Даже если оно и практически невероятно, все равно лучше приучать себя к безопасному стилю. Эта привычка убережет от многих неприятностей.


 
TStas   (2012-05-18 19:40) [5]

Да. Просто интересно, а в случае выделении абзачев в ричэдите откуда оно может появиться?
Сам код поправил, спасибо.


 
Юрий Зотов ©   (2012-05-19 01:01) [6]

> TStas   (18.05.12 19:40) [5]
> откуда оно может появиться?


Есть абсолютная уверенность в том, что VCL не содержит ошибок?

Есть абсолютная уверенность в том, что функции WinAPI, через которые работает VCL тоже не содержат ошибок?

Есть абсолютная уверенность в том, что Paragraph ни при каких условиях не станет невалидной ссылкой?

У меня абсолютной уверенности во всем этом нет.


 
Rouse_ ©   (2012-05-19 01:07) [7]


> TStas   (17.05.12 23:46) [3]
> А может быть исключение?

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


 
TStas   (2012-05-19 01:14) [8]

Ну да... Как и любой другой API вызов.


 
Rouse_ ©   (2012-05-19 01:33) [9]


> TStas   (19.05.12 01:14) [8]
> Ну да... Как и любой другой API вызов.

Очень хотелось бы увидеть на практике как MessageBeep выдаст исключение...


 
Германн ©   (2012-05-19 01:37) [10]

Я бы ещё добавил.
Если есть вызов какой-либо процедуры, которая изменяет какие-либо условия обычного вывода на экран будь то BeginUpdate или смена вида курсора и т.д. и т.п. обязательно нужен блок try...finally.


 
имя   (2012-05-19 02:09) [11]

Удалено модератором
Примечание: оффтоп


 
Anatoly Podgoretsky ©   (2012-05-19 08:49) [12]


> Вопрос снят. Это делается так:

EM_SETPARAFORMAT



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

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

Наверх





Память: 0.46 MB
Время: 0.349 c
15-1349814602
Юрий
2012-10-10 00:30
2013.03.22
С днем рождения ! 10 октября 2012 среда


15-1351205756
0x44696D61
2012-10-26 02:55
2013.03.22
поле ввода логина


2-1334906029
andrewtitoff
2012-04-20 11:13
2013.03.22
TIdHTTP и Cookie


2-1333010150
rodionov_uv
2012-03-29 12:35
2013.03.22
Помогите организовать поиск и удаление строки в Excele


15-1350643594
Grimm375
2012-10-19 14:46
2013.03.22
Информировать, какие символы разрешено вводить





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский