![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MDI или API [D6, Win95/98, WinXP]
hooky-mars © (2002-06-07 20:23:00)Saluer!
Я создаю из FormMDIChild поток, который в процессе работоы должен обращаться к форме порадившей его. Тут возникают проблемы, потому что надо не только обратиться к форме, а обратиться к компаненту формы, а этого обычными методамия я сделать не смог. Прилшлось идти через Api функции, но они тоже не бесконечны. К компоненту я обращаюсь, но не могу поменять атрибуты. Т.е. я обращаюсь к RichEdit. При обычных условиях я бы сделал так:
i:=Length(Form1.RichEdit1.Lines.Text)-Length(s1)-3;
Form1.RichEdit1.SelStart:=i;
Form1.RichEdit1.SelLength:=Length(s1);
Form1.RichEdit1.SelAttributes.Color:=clMaroon;
Form1.RichEdit1.SelAttributes.Style:=[fsUNDERLine];
Form1.RichEdit1.SelStart:=Length(Form1.RichEdit1.Lines.Text);
Form1.RichEdit1.SelLength:=0;
Но дело и дёт с MDI. А при помощи API функций я смог лишь сделать выделение :
i:=Length(HtmlText)-Length(s1)-3;
SendMessage(Child,EM_SETSEL,i,Length(s1));
А придать атибуты немогу. Так как это сделать? И можно ли сделать это, всё таки, при помощи технологии MDI?
hooky-mars (2002-06-08 20:59:00) [1]Ну хотябы маленикий примерчик!
hooky-mars (2002-06-08 18:25:00) [2]Ну так что?
hooky-mars (2002-06-08 16:34:00) [3]
> Guerrillero Che © (07.06.02 23:26)
> А в чем заключается проблема с MDI?
Я могу найти дочернюю форму при помощи MDIChildren[i], но так я могу помянять лишь заголовок, а как обращаться к элементам?
> esVer (07.06.02 22:46)
> Зачем же так кричать?
> Ты можешь послать главной форме свое собственное сообщение,
> в параметрах указать, что надо сделать, а в главной форме
> написать обработчик этого сообщения. Таким образом получишь
> доступ к компонентам главной формы.
Вы хотите сказать, что надо заставить дочение окна жадть сообщения от потоков? Но я незнаю как работать с этими мессагами, а темболее создавать свои, могу только отсылать через SendMessage(). Покажите пожалуйста примерчик.
Guerrillero Che (2002-06-07 23:26:00) [4]А в чем заключается проблема с MDI?
esVer (2002-06-07 22:46:00) [5]Зачем же так кричать?
Ты можешь послать главной форме свое собственное сообщение, в параметрах указать, что надо сделать, а в главной форме написать обработчик этого сообщения. Таким образом получишь доступ к компонентам главной формы.
hooky-mars (2002-06-07 21:56:00) [6]Ну хоть ктонибудь помагите!!!!!
hooky-mars (2002-06-07 21:10:00) [7]Ну что нет идей?
hooky-mars (2002-06-07 20:24:00) [8]Только не XP, а Win2000