Вниз
Скачать: CL | DM;

Фокус Мемо когда он на ходится на форме стиля fsMDIChild   Найти похожие ветки 

 
Relaxxx ©   (2003-08-10 20:06) [0]

Еще одна маленькая проблемка.
У меня MDI приложение. Когда я нажимаю кнопку на главной форме я хочу чтобы у меня фокус был в Мемо который находится в дочерном окне.
С помщью SetFocus получается только если стиль формы fsMDIForm или fsMDIForm, а вот при fsMDIChild нехочет давать фокус, как мне нужно поступить в таком случае??


 
Dred2k ©   (2003-08-10 20:29) [1]

На кнопку твоей главной формы вешаешь что-то типа

if(Assigned(ActiveMDIChild)) then begin
if(ActiveMDIChild is <тип твоего чилда>) then begin
with (ActiveMDIChild as <тип твоего чилда>) do begin
Edit1.SetFocus; // Контрол по вкусу
PostMessage(Handle, WM_ACTIVATE, 0, 0);
end;
end;
end;


 
Relaxxx ©   (2003-08-10 21:17) [2]

Извините, но я немного невьехал в логику, неможете более подробней обьснить что вы здесь делаете??
Да и я пишу
if(Assigned(ActiveMDIChild)) then begin
if(ActiveMDIChild is fsMDIChild) then begin
with (ActiveMDIChild as fsMDIChild) do begin
Memo1.SetFocus;
PostMessage(Handle, WM_ACTIVATE, 0, 0);
end;
end;
end;
мне во 2 строке пишет ошибку


 
Dred2k ©   (2003-08-10 21:23) [3]

ActiveMDIChild as <тип твоего чилда> - это приведение типов (RTTI). На место <тип твоего чилда> нужно поставить наименование класса формы твоего MDI-чилда (TMyMDIChild, к примеру). Смотри декларацию в модуле формы чилда.
Вообще, тебе подучить матчасть надо. Эт факт. ;)


 
Relaxxx ©   (2003-08-10 21:55) [4]

Спасибо, все работает, хоть скажу честно, сам принцип я неочень уловил. А что Вы подразумевали под матчасью (математическую часть чтоли, причем здесь она). А так большое спасибо, Делфи я продолжаю изучать и надеюсь что когда нибудь сам смогу вот так просто отвечать на любые вопросы :-)
Спасибо!!!


 
Dred2k ©   (2003-08-11 09:44) [5]

> Relaxxx © (10.08.03 21:55)
> А что Вы подразумевали под матчасью (математическую
> часть чтоли, причем здесь она).


Да нет. Материальная часть... ;) Дельфи, вообщем. И ObjectPascal.

> вот так просто отвечать на любые вопросы :-)

Да, я тоже хотел бы научиться... И чтоб на любые. ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
1-81638
BillyJeans
2003-08-12 14:02
2003.08.25
Как узнать с какого контрола перешел фокус на текущий?


1-81619
DoNotKnow
2003-08-12 23:39
2003.08.25
Активация приложения


14-81873
Wonder
2003-08-07 16:01
2003.08.25
Я плакаль :) Долго :) Советую почитать :)


4-82021
SH
2003-06-03 16:56
2003.08.25
Drag&Drop and TTreeView


6-81852
KIE
2003-06-19 13:11
2003.08.25
Socket ошибка Дельфи




   Наверх