![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос о динамическом создании RichEdit [Delphi, Windows]
4kusNick © (2004-04-26 14:49:00)Уважаемые профессионалы, хотелось бы решить такую задачку:
Решил я значит создать рич динамически:
...
procedure TMain.KOLForm1FormCreate(Sender: PObj);
...
begin
...
If WrdWrp then //WrdWrp - пременная типа булеан - перенос длинных строк
Main.RichEdit:= NewRichEdit(Main.Form, [eoNoHScroll])
else
Main.RichEdit:= NewRichEdit(Main.Form, []);
Main.RichEdit.Align:= caClient;
...
end;
И столкнулся с проблемой: как же мне теперь с "невидимым" до создания формы ричем ассоциировать стандартные события типа OnRightMouse, OnDrop и т.д.? Подскажите, как быть?
4kusNick (2004-04-30 21:54:00) [1]Усек. Спасибо. :)
Глупый вопрос.
GuAV (2004-04-30 21:52:00) [2]>If Mouse.Button = mbRight then RichEditMenu.popup(Mouse.X,Mouse.Y)I>
Зачем?
RichEdit.SetAutoPopupMenu(RichEditMenu);
4kusNick (2004-04-30 19:23:00) [3]Ok понял. Уже сделал.
И еще вопрос:
Описал я значит, событие при RightClick'е на Rich'е а вот меню почему - то появляется не совсем там, где надо.
Вот кусок кода:
------------------CUT-------------------------
If Mouse.Button = mbRight then RichEditMenu.popup(Mouse.X,Mouse.Y)
------------------CUT-------------------------
В итоге меню появляется чуть выше и левее, а когда я изменил эту строку таким образом
If Mouse.Button = mbRight then rem.popup(Mouse.X+какое-то число,Mouse.Y+какое-то число),
то положение меню зависит уже от размеров окна программы.
Что не так?
Владимир Кладов (2004-04-26 19:01:00) [4]неохота руками написать свой метод с нужными параметрами и присвоить его событию? Есть решение проще: бросить на форму такой же контрол, создать для него событие через Object Inspector, написать в теле что-нибудь, чтобы он не исчез сам собой. Теперь можно удалить контрол, и где надо присвоить этот метод в качестве обработчика:
MyRich.OnChange := RichEdit1Change;
Собственно, ничего специфического для KOL/MCK, в VCL это тоже работает.