Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

То, что у меня не работает в RichEdit [Delphi, Windows]


=BuckLr= ©   (2007-06-05 18:53:00) 

Привет. После нескольких дней занятий мазохизмом с ричэдитом я решил собрать до кучи всё то, что у меня не работает вместе с симолом UNICODE_CTRLS, и, по моему мнению, это баги. Не бейте ногами (руками можно :) ), если я чего-то не понял. Объясните, что неправильно. А ежели обнаружились реальные ошибки, то есть повод их исправить. Итак.

1. RE_Transparent - не работает. Устанавливает прозрачность, но не снимает. Похоже на имевшую место проблему со св-вом RE_OverwriteMode, Владимир что-то там исправлял.

2. RE_Font.FontName - не меняет шрифт. Без использования юникода всё нормально.

3. RE_Indent и RE_RightIndent, равно как и RE_StartIndent, не работают вообще никак. Аналогично с RE_LineSpacing.

4. RE_FmtProtected - никак не влияет на возможность отредактировать отформатированный таким образом текст.

5. Что-то ещё, но не могу вспомнить. Когда вспомню, отпишу.

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


=BuckLr=   (2007-06-09 17:32:00) [1]

Спасибо, Владимир. А надо это затем, что пользователь хочет :) Я бы и пальцем не шевельнул. А у пользователя свои эстетические предпочтения. Но я согласен - раз заявлено, то должно работать, хоть и лишний порой у разработчиков геморрой появляется...


Vladimir Kladov   (2007-06-09 16:53:00) [2]

А потом вы обращаетесь дважды с true, а получаете фигу. Или обращаетесь через API (SendMessage), и опять фигу. Увы, но Х маловато. Нет, я просто имел в виду (когда код делал), что достаточно свойство установить, а снимать-то зачем. Ну раз надо, сделаем правильно, все равно этот код добавляется только при прямом обращении.


homm   (2007-06-09 14:57:00) [3]

> 1 абсолютно не понимаю, зачем прозрачность в richedit'е,
> тем более что Майкрософт ее не поддерживает. А в динамике
> снимать и ставить... ну любопытно просто, зачем?

Свойство заявлено, пусь будел лучше рабочим. Просто or на xor заменить надо.


Vladimir Kladov   (2007-06-09 12:39:00) [4]

1 абсолютно не понимаю, зачем прозрачность в richedit'е, тем более что Майкрософт ее не поддерживает. А в динамике снимать и ставить... ну любопытно просто, зачем?

2 С уникодом посмотрю, конечно. Наверняка KOLString нужен.

3, 4 Смотреть надо. Я с ричэдитом давно ничего не делал.


homm   (2007-06-09 11:48:00) [5]

1
Исправляеться одной буквой Ха.

procedure TControl.RESetTransparent(const Value: Boolean);
begin
 ExStyle := ExStyle xor WS_EX_TRANSPARENT;
 fParent.AttachProc( WndProc_RichEdTransp_ParentPaint );
 AttachProc( WndProc_RichEdTransp_Update );
 fTransparent := Value;
end;


homm   (2007-06-09 11:37:00) [6]

1
Осталось еще с тех времен, когда и обычная прозрачность не снималась.

5
Исправлено :)


=BuckLr=   (2007-06-09 00:38:00) [7]

Ау, Владимир... Видно вы совсем в работе, я понимаю. Но я всё-таки надеюсь, что вы ответите мне. Особенно интересует RE_Transparent и FontName.


Наверх

Титульная страница Поиск, карта сайта Написать письмо