Application->CreateForm(__classid(TForm01), &curForm01);
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 200, 200, 0, 0, SWP_NOSIZE);
curForm01->ShowModal();
[помогите] разобраться с косяком в модалных формах
Динамически создается еще одна форма
Код:
Далее пока еще форма curForm01 не закрыта динамически создается еще одна форма и так же открывается модально.
Код:
Application->CreateForm(__classid(TForm02), &curForm02);
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 300, 300, 0, 0, SWP_NOSIZE);
curForm02->ShowModal();
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 300, 300, 0, 0, SWP_NOSIZE);
curForm02->ShowModal();
Далее из формы curForm02 выдаю
MessageDlg("qwe", mtInformation, TMsgDlgButtons()<<mbOK, 0);
Косяк получился такой: форма curForm02 открывается поверх curForm01 (как и нужно), а вот форма с сообщением "qwe" открывается модально НО для формы curForm01. Т.е. порядок форм на экране становится
curForm01 MessageDlg("qwe", ..) curForm02
а хочется
curForm01 curForm02 MessageDlg("qwe", ..)
подскажите в чем ошибка? что не так я сделал?
Цитата:
Originally posted by AlexSob
Есть главная форма приложения.
Динамически создается еще одна форма
Далее пока еще форма curForm01 не закрыта динамически создается еще одна форма и так же открывается модально.
Далее из формы curForm02 выдаю
MessageDlg("qwe", mtInformation, TMsgDlgButtons()<<mbOK, 0);
Косяк получился такой: форма curForm02 открывается поверх curForm01 (как и нужно), а вот форма с сообщением "qwe" открывается модально НО для формы curForm01. Т.е. порядок форм на экране становится
curForm01 MessageDlg("qwe", ..) curForm02
а хочется
curForm01 curForm02 MessageDlg("qwe", ..)
подскажите в чем ошибка? что не так я сделал?
Есть главная форма приложения.
Динамически создается еще одна форма
Код:
Application->CreateForm(__classid(TForm01), &curForm01);
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 200, 200, 0, 0, SWP_NOSIZE);
curForm01->ShowModal();
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 200, 200, 0, 0, SWP_NOSIZE);
curForm01->ShowModal();
Далее пока еще форма curForm01 не закрыта динамически создается еще одна форма и так же открывается модально.
Код:
Application->CreateForm(__classid(TForm02), &curForm02);
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 300, 300, 0, 0, SWP_NOSIZE);
curForm02->ShowModal();
SetWindowPos(curForm01->Handle, HWND_TOPMOST, 300, 300, 0, 0, SWP_NOSIZE);
curForm02->ShowModal();
Далее из формы curForm02 выдаю
MessageDlg("qwe", mtInformation, TMsgDlgButtons()<<mbOK, 0);
Косяк получился такой: форма curForm02 открывается поверх curForm01 (как и нужно), а вот форма с сообщением "qwe" открывается модально НО для формы curForm01. Т.е. порядок форм на экране становится
curForm01 MessageDlg("qwe", ..) curForm02
а хочется
curForm01 curForm02 MessageDlg("qwe", ..)
подскажите в чем ошибка? что не так я сделал?
Возможно стоит использовать:
Код:
Application->MessageBoxA(...);
тогда твое сообщение будет поверх второй формы.
Код:
MessageBox(curForm01->Handle, ...);
MessageBox(curForm02->Handle, ...);
MessageBox(Form1->Handle, ...);
MessageBox(curForm02->Handle, ...);
MessageBox(Form1->Handle, ...);
спасибо!