Alexikit
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте! Очень нужна помощь. Делаю диалог на фортране. Неоходимо из одного диалога по кнопке вызвать второй, при этом первый диалог нужно закрыть, а при выходе из второго по кнопке ОК сразу уйти в программу , а при выходе по копке Отмена вернуть первый диалог. Сейчас попытка закрыть первый диалог выглядит вот так: SUBROUTINE SetDlgProgScen(CHECKED) USE DFLIB USE DFLOGM USE graprm IMPLICIT NONE INCLUDE 'RESOURCE.FD' TYPE(DIALOG)DLG LOGICAL ret,checked INTEGER iret EXTERNAL InpProgScFile,ProgScenChange EXTERNAL SUB1 ret=DlgInit(IDD_ProgScen,DLG) ret=DlgSet(DLG,IDC_RADIO_ProgScen1,.TRUE.) ret=DlgSet(dlg,IDC_Button_ProgScen2,.FALSE.,DLG_Enable) ret=DlgSetSub(DLG,IDC_RADIO_ProgScen1,Sub1) ret=DlgSetSub(DLG,IDC_RADIO_ProgScen2,Sub1) ret=DlgSetSub(DLG,IDC_Button_ProgScen1,InpProgScFile) ret=DlgSetSub(DLG,IDC_Button_ProgScen2,ProgScenChange) iret=DlgModal(dlg) CALL DlgUnInit(Dlg) END SUBROUTINE SetDlgProgScen !**** SUBROUTINE ProgScenChange(DLG, ID, CALLBACKTYPE) USE DFLIB USE DFLOGM USE graprm IMPLICIT NONE INCLUDE 'RESOURCE.FD' TYPE(DIALOG)DLG,Dlg1 LOGICAL(KIND=4) ret INTEGER(KIND=4) IRET, ID, CALLBACKTYPE EXTERNAL PrognozChange ret=DlgInit(IDD_Prognoz,Dlg1) ........ Описание копок !Проба, закрытия предыдущего диалога Call DLGEXIT(DLG) iret=DlgModal(dlg1) CALL DlgUnInit(Dlg1) END SUBROUTINE ProgScenChange Нет оно закрывает, и даже открывает второй диалог, но почему-то второй диалог открывается в отдельном от программы окне. И у меня там в определенных случаях выскакивает предупреждение, так второй диалог сворачивается и больше сам не разворачивается. Надо по нему щелкать. Причем если CALL DlgUnInit(Dlg) не делать оба диалога так и сидят на экране и при выходе из пердупреждения можно спокойно работать. Короче хочу закрыть первый диалог, но так чтобы второй отрылся здесь же, как еслиб он был один. Заранее спасибо. |