Форум: "Начинающим";
Текущий архив: 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.069 c