Главная страница
    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.059 c
15-1331924751
Lamer?
2012-03-16 23:05
2013.03.22
Delphi xe


2-1343380872
Люда
2012-07-27 13:21
2013.03.22
Вопрос по StringList


2-1328784120
ds
2012-02-09 14:42
2013.03.22
DbGrid программная очистка ячейки


15-1347455469
Artem
2012-09-12 17:11
2013.03.22
Как включить отображение 3d визуализации?


15-1343203415
Dmitry
2012-07-25 12:03
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский