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

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

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


Наверх

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