|
沙发

楼主 |
发表于 2018-6-12 14:51:17
|
只看该作者
[Fortran] 纯文本查看 复制代码 001 | integer * 4 function WinMain ( hInstance , hPrevInstance , lpszCmdLine , nCmdShow ) |
009 | integer * 4 hPrevInstance |
010 | integer * 4 lpszCmdLine |
012 | include 'resource.fd' |
021 | character ( SIZEOFAPPNAME ) lpszClassName |
022 | character ( SIZEOFAPPNAME ) lpszLeftClassName |
023 | character ( SIZEOFAPPNAME ) lpszRightClassName |
024 | character ( SIZEOFAPPNAME ) lpszInputClassName |
025 | character ( SIZEOFAPPNAME ) lpszDisClassName |
026 | character ( SIZEOFAPPNAME ) lpszIconName |
027 | character ( SIZEOFAPPNAME ) lpszAppName |
028 | character ( SIZEOFAPPNAME ) lpszMenuName |
029 | character ( SIZEOFAPPNAME ) lpszAccelName |
030 | character ( SIZEOFAPPNAME ) lpszMDIClassName |
031 | character ( SIZEOFAPPNAME ) lpszMDITextClassName |
032 | character ( SIZEOFAPPNAME ) lpszMDIMenuName |
034 | external LeftDlgProcSub |
035 | external ChangeTabSub |
038 | external PhaseSpaceSub |
048 | external ButtonRunSub |
049 | external ButtonNextSub |
050 | external ButtonTileSub |
051 | external ButtonPauSub |
052 | external ButtonDevSub |
053 | external ButtonTmPlotSub |
054 | external ButtonStopSub |
055 | external ButtonGridSub |
056 | external ButtonObsLocSub |
057 | external ButtonRefeSub |
059 | external ObseComboSub |
060 | external CntrComboSub |
061 | external VectComboSub |
062 | external PhasComboSub |
063 | external RangComboSub |
068 | ghInstance = hInstance |
069 | ghModule = GetModuleHandle ( NULL ) |
072 | lpszClassName = "Chi" C |
073 | lpszLeftClassName = "ChiLeft" C |
074 | lpszRightClassName = "ChiRight" C |
075 | lpszInputClassName = "ChiInput" C |
076 | lpszDisClassName = "Chiis" C |
078 | lpszMDIClassName = "Chip" C |
079 | lpszMDITextClassName = "ChiText" C |
080 | lpszAppName = "CPic3dp" C |
081 | lpszIconName = "CP3DP" C |
082 | lpszMenuName = "Chipic3d" C |
083 | lpszAccelName = "Chipic3d" C |
085 | if ( hPrevInstance .eq. 0 ) then |
087 | wc % lpszClassName = LOC ( lpszClassName ) |
088 | wc % lpfnWndProc = LOC ( MainWndProc ) |
090 | wc % hInstance = hInstance |
091 | wc % hIcon = LoadIcon ( hInstance , MAKEINTRESOURCE ( IDI_ICONN ) ) |
092 | wc % hCursor = LoadCursor ( NULL , IDC_ARROW ) |
093 | wc % hbrBackground = ( COLOR_WINDOW +1 ) |
094 | wc % lpszMenuName = NULL |
097 | if ( RegisterClass ( wc ) == 0 ) goto 99999 |
099 | wc % lpszClassName = LOC ( lpszInputClassName ) |
100 | wc % lpfnWndProc = LOC ( InputDisOpen ) |
102 | wc % lpszClassName = LOC ( lpszDisClassName ) |
103 | wc % lpfnWndProc = LOC ( InputDisText ) |
105 | wc % lpszClassName = LOC ( lpszRightClassName ) |
106 | wc % lpfnWndProc = LOC ( RightWndProc ) |
107 | if ( RegisterClass ( wc ) == 0 ) goto 99999 |
109 | wc % lpszClassName = LOC ( lpszMDIClassName ) |
110 | wc % lpfnWndProc = LOC ( MDIWndProc ) |
111 | if ( RegisterClass ( wc ) == 0 ) goto 99999 |
113 | wc % lpszClassName = LOC ( lpszMDITextClassName ) |
114 | wc % lpfnWndProc = LOC ( TextWndProc ) |
115 | wc % style = IOR ( CS_OWNDC , IOR ( CS_HREDRAW , CS_VREDRAW ) ) |
117 | wc % hbrBackground = ( COLOR_BTNSHADOW ) |
118 | if ( RegisterClass ( wc ) == 0 ) goto 99999 |
120 | wc % lpszClassName = LOC ( lpszLeftClassName ) |
121 | wc % lpfnWndProc = LOC ( LeftWndProc ) |
122 | if ( RegisterClass ( wc ) == 0 ) goto 99999 |
126 | ghMenu = LoadMenu ( hInstance , LOC ( lpszMenuName ) ) |
127 | if ( ghMenu == 0 ) goto 99999 |
128 | haccel = LoadAccelerators ( hInstance , LOC ( lpszAccelName ) ) |
129 | if ( haccel == 0 ) goto 99999 |
132 | lpszMDIMenuName = "ChiChild" C |
133 | ghChildMenu = LoadMenu ( hInstance , LOC ( lpszMDIMenuName ) ) |
134 | if ( ghMenu == 0 ) goto 99999 |
135 | ghMenuWindow = GetSubMenu ( ghMenu , 1 ) |
136 | ghChildMenuWindow = GetSubMenu ( ghChildMenu , 2 ) |
137 | ghwndMain = CreateWindowEx ( 0 , lpszClassName , lpszAppName , IOR ( WS_OVERLAPPED , IOR ( WS_CAPTION , IOR ( WS_BORDER , & |
138 | IOR ( WS_THICKFRAME , IOR ( WS_MAXIMIZEBOX , IOR ( WS_MINIMIZEBOX , IOR ( WS_CLIPCHILDREN , & |
139 | IOR ( WS_VISIBLE , WS_SYSMENU ) ) ) ) ) ) ) ) , 50 , 50 , 800 , 600 , NULL , ghMenu , hInstance , NULL ) |
140 | if ( ghwndMain == 0 ) goto 99999 |
141 | lret = ShowWindow ( ghwndMain , SW_SHOWMAXIMIZED ) |
142 | Lret = GetClientRect ( ghwndMain , rects ) |
145 | mwidth = rects % right - rects % left |
147 | glhight = abs ( rects % top - rects % bottom ) |
149 | ghwndLeft = CreateWindowEx ( 0 , lpszLeftClassName , lpszAppName , IOR ( WS_CHILD , IOR ( WS_BORDER , WS_VISIBLE ) ) , & |
150 | glleftpos , gltoppos , glwidth , glhight , ghwndMain , NULL , hInstance , NULL ) |
151 | if ( ghwndLeft == 0 ) goto 99999 |
153 | lret = DlgInit ( IDD_LEFT_DLG , gdlg ) |
154 | lret = DlgSetSub ( gdlg , IDD_LEFT_DLG , LeftDlgProcSub ) |
155 | lret = DlgSetSub ( gdlg , IDC_TAB , ChangeTabSub ) |
160 | lret = DlgSetSub ( gdlg , IDC_BUTNEXT , ButtonNextSub ) |
161 | lret = DlgSetSub ( gdlg , IDC_BUTTONPPU , ButtonTileSub ) |
162 | lret = DlgSetSub ( gdlg , IDC_BUTTONREF , ButtonRefeSub ) |
165 | lret = DlgSetSub ( gdlg , IDC_BUTDEVICE , ButtonDevSub ) |
168 | lret = DlgSet ( gdlg , IDC_TAB , 7 ) |
169 | lret = DlgSet ( gdlg , IDC_TAB , "*****" , 1 ) |
170 | lret = DlgSet ( gdlg , IDC_TAB , "*****" , 2 ) |
171 | lret = DlgSet ( gdlg , IDC_TAB , "*****" , 3 ) |
172 | lret = DlgSet ( gdlg , IDC_TAB , "*****" , 4 ) |
173 | lret = DlgSet ( gdlg , IDC_TAB , "*****" , 5 ) |
174 | lret = DlgSet ( gdlg , IDC_TAB , "******" , 6 ) |
175 | lret = DlgSet ( gdlg , IDC_TAB , "******" , 7 ) |
177 | lret = DlgSet ( gdlg , IDC_TAB , IDD_OBSE_DLG , 1 ) |
178 | lret = DlgSet ( gdlg , IDC_TAB , IDD_CNTR_DLG , 2 ) |
179 | lret = DlgSet ( gdlg , IDC_TAB , IDD_PHAS_DLG , 3 ) |
180 | lret = DlgSet ( gdlg , IDC_TAB , IDD_VECT_DLG , 4 ) |
181 | lret = DlgSet ( gdlg , IDC_TAB , IDD_RANG_DLG , 5 ) |
182 | lret = DlgSet ( gdlg , IDC_TAB , IDD_ 3 DOB_DLG , 6 ) |
183 | lret = DlgSet ( gdlg , IDC_TAB , IDD_DISP_DLG , 7 ) |
185 | lret = DlgInit ( IDD_OBSE_DLG , gdlg_tab 1 ) |
186 | lret = DlgSetSub ( gdlg_tab 1 , IDD_OBSE_DLG , ObserverSub ) |
187 | lret = DlgSetSub ( gdlg_tab 1 , IDC_OBSE_LIST , ObseSelSub ) |
188 | lret = DlgInit ( IDD_CNTR_DLG , gdlg_tab 2 ) |
189 | lret = DlgSetSub ( gdlg_tab 2 , IDD_CNTR_DLG , ContourSub ) |
190 | lret = DlgSetSub ( gdlg_tab 2 , IDC_CNTR_LIST , CntrSelSub ) |
191 | lret = DlgInit ( IDD_PHAS_DLG , gdlg_tab 3 ) |
192 | lret = DlgSetSub ( gdlg_tab 3 , IDD_PHAS_DLG , PhaseSpaceSub ) |
193 | lret = DlgSetSub ( gdlg_tab 3 , IDC_PHAS_LIST , PhasSelSub ) |
194 | lret = DlgInit ( IDD_VECT_DLG , gdlg_tab 4 ) |
195 | lret = DlgSetSub ( gdlg_tab 4 , IDD_VECT_DLG , VectorSub ) |
196 | lret = DlgSetSub ( gdlg_tab 4 , IDC_VECT_LIST , VectSelSub ) |
197 | lret = DlgInit ( IDD_RANG_DLG , gdlg_tab 5 ) |
198 | lret = DlgSetSub ( gdlg_tab 5 , IDD_RANG_DLG , RangeSub ) |
199 | lret = DlgSetSub ( gdlg_tab 5 , IDC_RANG_LIST , RangSelSub ) |
200 | lret = DlgInit ( IDD_ 3 DOB_DLG , gdlg_tab 6 ) |
201 | lret = DlgInit ( IDD_DISP_DLG , gdlg_tab 7 ) |
202 | lret = DlgSetSub ( gdlg_tab 7 , IDD_DISP_DLG , DisplaySub ) |
203 | lret = DlgSetSub ( gdlg_tab 7 , IDC_DISP_LIST , DispSelSub ) |
205 | lret = DlgSetSub ( gdlg_tab 1 , IDC_COMBO_OBSE , ObseComboSub ) |
206 | lret = DlgSetSub ( gdlg_tab 2 , IDC_COMBO_CNTR , CntrComboSub ) |
207 | lret = DlgSetSub ( gdlg_tab 3 , IDC_COMBO_PHAS , PhasComboSub ) |
208 | lret = DlgSetSub ( gdlg_tab 4 , IDC_COMBO_VECT , VectComboSub ) |
209 | lret = DlgSetSub ( gdlg_tab 5 , IDC_COMBO_RANG , RangComboSub ) |
211 | lret = DlgModeless ( gdlg , nCmdShow ) |
213 | lret = SetParent ( hWndDlg , ghwndLeft ) |
215 | grleftpos = glleftpos + glwidth +5 |
217 | grwidth = mwidth - grleftpos |
219 | ghwndRight = CreateWindowEx ( 0 , lpszRightClassName , lpszAppName , IOR ( WS_CHILD , IOR ( WS_BORDER , WS_VISIBLE ) ) , & |
220 | grleftpos , grtoppos , grwidth , grhight , ghwndMain , NULL , hInstance , NULL ) |
221 | if ( ghwndRight == 0 ) goto 99999 |
222 | lret = ENABLEWindow ( ghwndMain , TRUE ) |
223 | ret = EnableMenuItem ( ghMenu , IDM_SAVEAS , TRUE ) |
224 | lret = ENABLEWindow ( ghwndRight , TRUE ) |
225 | lret = ENABLEWindow ( ghwndLeft , TRUE ) |
226 | CALL ActiveMainWnd ( ) |
228 | CALL EnableLeftButton ( 4 ) |
230 | do while ( GetMessage ( mesg , NULL , 0 , 0 ) ) |
232 | if ( ( mesg % message .eq. WM_KEYDOWN ) .and. ( hCtrlDlg .eq. 0 ) ) THEN |
233 | call KeyBoardProc ( mesg % wParam ) |
234 | else if ( ( TranslateAccelerator ( ghwndMain , haccel , mesg ) == 0 ) & |
235 | .AND. ( TranslateMDISysAccel ( ghwndClient , mesg ) .EQV. .FALSE. ) ) then |
236 | lret = TranslateMessage ( mesg ) |
237 | ret = DispatchMessage ( mesg ) |
240 | RET = DestroyIcon ( LOC ( lpszIconName ) ) |
241 | WinMain = mesg.wParam |
244 | ret = MessageBox ( ghwndMain , "Error initializing application Chipic3d" C , "Error" C , MB_OK ) |
|
|