Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизСдел. форму с которой нельзя перекл. на другую Найти похожие ветки
← →
magician © (2004-05-10 16:59) [0]Как сделать так чтобы с вызваной формы нельзя было переключиться на другую. Проблема в том что
вызвать форму как SHOWMODAL нельзя.
Пробовал перехватывать свойство wmactivate, но незнаю что делать дальше, как вернуть форме фокус. Help, please.
← →
Palladin © (2004-05-10 17:01) [1]
> вызвать форму как SHOWMODAL нельзя
Это кто сказал?
---
Помните! Чем выше качество вопроса, тем выше качество ответа.
← →
Erik © (2004-05-10 17:02) [2]wmactivate - чего? К томуже неясно по каким условиям нельзя делать SHOWMODAL?
Фокус устанасливается SetFocus или сообщение можно послать форме.
← →
magician © (2004-05-10 17:06) [3]Почему нельзя. Я вызываю модальную форму, а из неё еще одну форму(которую я и имею ввиду). Мне нельзя переключаться с этой формы на преведущую, но в тоже время во время работы программы мне необходимо преведущую форму закрыть(ну а эту оставить). Если эта форма будет модальной, то превед. не закроеться.
← →
Palladin © (2004-05-10 17:13) [4]
form2.SetFocus;
form2.BringToFront;
однако предупреждаю... подобный стиль интерфейса не очень хорош...
---
Помните! Чем выше качество вопроса, тем выше качество ответа.
← →
KilkennyCat © (2004-05-10 17:13) [5]как все сложно...
делайте обработку вызовов Ваших форм в Главной форме. То есть, когда вызываете модальную форму из главной, это хорошо. Когда вызываете модальную форму из модальной, Вы, на самом деле, даете команду на закрытие первой модальной формы. соотвестсвенно, Вас вернет в главную. Обрабатываете предсмертное сообщение от первой модальной формы, и, если она завещала открыть вторую - открываете. Модальную.
← →
Erik © (2004-05-10 17:14) [6]Ты хочеш сказать, что делаеш ей Close а она незакрывается?
← →
Плохиш (2004-05-10 17:15) [7]>magician © (10.05.04 17:06) [3]
Пересмотри алгоритм программы
PS. Можно спросить, что означает слово "преведущую"? Вы его три раза использовали
← →
KilkennyCat © (2004-05-10 17:15) [8]
> [6] Erik © (10.05.04 17:14)
> Ты хочеш сказать, что делаеш ей Close а она незакрывается?
Разве может закрыться родительская форма, оставив дочернюю?
← →
Erik © (2004-05-10 17:17) [9]Можно Screen.OnActiveFormChange обрабатывать а формы открывать нормально.
← →
Erik © (2004-05-10 17:19) [10]KilkennyCat а почем я знаю, какого он ей родителя прописал?
← →
magician © (2004-05-10 17:22) [11]//насчет wmactivate я имел ввиду
procedure TForm1.wmativate(Var a:TWMACTIVATE);
begin
inherited;
if a.active=WM_INACTIVE then
...... //вот здесь я не знаю что делать(сам себе сообщение не пошлешь
//хотя кто знает, да и что посылать????
a.result:=0;
end;
← →
Palladin © (2004-05-10 17:25) [12]
> [11] magician © (10.05.04 17:22)
помоему я тебе уже написал что делать... это раз... два - у формы есть вообщето событие OnActivate
---
Помните! Чем выше качество вопроса, тем выше качество ответа.
← →
magician © (2004-05-10 20:11) [13]KilkennyCat
В принципе можно, но все же хотелось бы как то подругому, но если неполучиться то я буду использовать ваше предложение. Спасибо ...
← →
magician © (2004-05-10 20:13) [14]Что не так
procedure TF_ProgressBar_Video.wmactivate(Var a:twmactivate);
begin
inherited;
if a.Active=WA_INACTIVE then
F_ProgressBar_Video.BringToFront;
//c F_ProgressBar_Video.SetFocus тоже самое
a.Result:=0;
end;
← →
Abel (2004-05-10 20:49) [15]А так не подойдет?
procedure TForm2.btClick(Sender: TObject);
begin
Form3.Show;
Form2.Enabled := False;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c