1 | #define INCL_PM
|
---|
2 | #define INCL_OS2MM
|
---|
3 | #define INCL_SW
|
---|
4 | #define INCL_DOSMISC
|
---|
5 | #define INCL_DOSMODULEMGR
|
---|
6 | #include <os2.h>
|
---|
7 | #include <os2me.h>
|
---|
8 | #include <stdlib.h>
|
---|
9 | #include <string.h>
|
---|
10 |
|
---|
11 | #if 0
|
---|
12 | int main()
|
---|
13 | {
|
---|
14 | exit();
|
---|
15 | }
|
---|
16 | #endif
|
---|
17 |
|
---|
18 | /*char chrMMDir[CCHMAXPATH];
|
---|
19 | */
|
---|
20 | static void _getMMBase(char* chrMMDir, ULONG ulSize)
|
---|
21 | {
|
---|
22 | PSZ pszMMBase="";
|
---|
23 |
|
---|
24 | if(!DosScanEnv("MMBASE", &pszMMBase)) {
|
---|
25 | char * chrPtr;
|
---|
26 | strncpy(chrMMDir, pszMMBase, ulSize);
|
---|
27 | chrMMDir[ulSize-1]=0;
|
---|
28 | if((chrPtr=strchr(chrMMDir,';'))!=NULLHANDLE)
|
---|
29 | *chrPtr=0;
|
---|
30 | }
|
---|
31 | }
|
---|
32 |
|
---|
33 | static HMODULE _getDLLHMod(void)
|
---|
34 | {
|
---|
35 | HMODULE hmod=0;
|
---|
36 | char chrPath[CCHMAXPATH];
|
---|
37 | _getMMBase( chrPath, sizeof(chrPath));
|
---|
38 | if(chrPath[strlen(chrPath)-1]=='\\')
|
---|
39 | chrPath[strlen(chrPath)-1]=0;
|
---|
40 | strcat(chrPath, "\\DLL\\cddbpage.dll");
|
---|
41 | /*WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, chrPath, "", 1234, MB_MOVEABLE);
|
---|
42 | //DosBeep(500, 400); */
|
---|
43 | if(!DosQueryModuleHandle(chrPath,&hmod)) {
|
---|
44 | return hmod;
|
---|
45 | }
|
---|
46 | else
|
---|
47 | return NULLHANDLE;
|
---|
48 | }
|
---|
49 |
|
---|
50 | typedef struct {
|
---|
51 | HWND hwndHelpInstance;
|
---|
52 | } MMPAGEINFO;
|
---|
53 | typedef MMPAGEINFO * PMMPAGEINFO;
|
---|
54 |
|
---|
55 |
|
---|
56 |
|
---|
57 | /*******************************************************************/
|
---|
58 | /* Modeless secondary window procedure */
|
---|
59 | /*******************************************************************/
|
---|
60 | MRESULT EXPENTRY cddbPageDlgProc (HWND hwnd, ULONG msg,
|
---|
61 | MPARAM mp1, MPARAM mp2)
|
---|
62 | {
|
---|
63 | PMMPAGEINFO pMMPageInfo = (PMMPAGEINFO)WinQueryWindowPtr (hwnd, QWL_USER);
|
---|
64 |
|
---|
65 | switch (msg) {
|
---|
66 | case WM_INITDLG:
|
---|
67 | /* Initialize The Page */
|
---|
68 | pMMPageInfo = (PMMPAGEINFO) malloc(sizeof(MMPAGEINFO));
|
---|
69 | WinSetWindowPtr (hwnd, QWL_USER, pMMPageInfo);
|
---|
70 |
|
---|
71 | /* Create a Help Instance */
|
---|
72 | /* pMMPageInfo->hwndHelpInstance = WinCreateHelpInstance(...);*/
|
---|
73 | break;
|
---|
74 |
|
---|
75 | case WM_DESTROY:
|
---|
76 | /* Clean up page window resources */
|
---|
77 | /* WinDestroyHelpInstance (pMMPageInfo->hwndHelpInstance); */
|
---|
78 | free (pMMPageInfo);
|
---|
79 | break;
|
---|
80 |
|
---|
81 | case WM_COMMAND:
|
---|
82 | /* Process All Commands */
|
---|
83 | return ((MRESULT) FALSE);
|
---|
84 | break;
|
---|
85 |
|
---|
86 | case WM_CLOSE:
|
---|
87 | return ((MRESULT) FALSE);
|
---|
88 | break;
|
---|
89 |
|
---|
90 | #if 0
|
---|
91 | case WM_HELP:
|
---|
92 | if (pMMPageInfo->hwndHelpInstance) {
|
---|
93 | WinSendMsg(
|
---|
94 | pMMPageInfo->hwndHelpInstance,
|
---|
95 | HM_DISPLAY_HELP,
|
---|
96 | (MPARAM) mp1,
|
---|
97 | HM_RESOURCEID );
|
---|
98 | }
|
---|
99 | return ((MRESULT)TRUE);
|
---|
100 | break;
|
---|
101 |
|
---|
102 | case WM_TRANSLATEACCEL:
|
---|
103 | return (WinDefWindowProc (hwnd, msg, mp1, mp2));
|
---|
104 | break;
|
---|
105 |
|
---|
106 | case HM_QUERY_KEYS_HELP:
|
---|
107 | return((MRESULT) IDH_HELPFORKEYS);
|
---|
108 | break;
|
---|
109 | #endif
|
---|
110 | }
|
---|
111 |
|
---|
112 | return (WinDefSecondaryWindowProc(hwnd, msg, mp1, mp2));
|
---|
113 | }
|
---|
114 |
|
---|
115 | HWND InsertCDDBConfigPage(PMCI_DEVICESETTINGS_PARMS pMCIDevSettings)
|
---|
116 | {
|
---|
117 |
|
---|
118 | HWND hwndPage=NULLHANDLE; /* Page window handle */
|
---|
119 | CHAR szTabText[CCHMAXPATH]; /* Buffer for tab string */
|
---|
120 | ULONG ulPageId; /* Page Identifier */
|
---|
121 |
|
---|
122 | if(pMCIDevSettings)
|
---|
123 | DosBeep(1000, 400);
|
---|
124 | if(pMCIDevSettings->hwndCallback)
|
---|
125 | DosBeep(500, 400);
|
---|
126 | /*******************************************************************/
|
---|
127 | /* Load a modeless secondary window */
|
---|
128 | /*******************************************************************/
|
---|
129 |
|
---|
130 | hwndPage = WinLoadSecondaryWindow(
|
---|
131 | HWND_DESKTOP,
|
---|
132 | HWND_DESKTOP,
|
---|
133 | /* pMCIDevSettings->hwndNotebook,
|
---|
134 | pMCIDevSettings->hwndNotebook,*/
|
---|
135 | &cddbPageDlgProc,
|
---|
136 | NULLHANDLE,
|
---|
137 | /* _getDLLHMod(),*/ /* hmod */
|
---|
138 | 1234,
|
---|
139 | (PVOID)NULLHANDLE);
|
---|
140 | /* (PVOID)pMCIDevSettings);*/
|
---|
141 |
|
---|
142 | DosBeep(5000, 400);
|
---|
143 | if (!hwndPage) return (NULLHANDLE);
|
---|
144 |
|
---|
145 | ulPageId = (ULONG)WinSendMsg( pMCIDevSettings->hwndNotebook,
|
---|
146 | BKM_INSERTPAGE,
|
---|
147 | (ULONG)NULL,
|
---|
148 | MPFROM2SHORT( BKA_AUTOPAGESIZE |
|
---|
149 | BKA_MINOR, BKA_LAST ) );
|
---|
150 | /*******************************************************************/
|
---|
151 | /* Associate a secondary window with a notebook page. */
|
---|
152 | /*******************************************************************/
|
---|
153 |
|
---|
154 | WinSendMsg(pMCIDevSettings->hwndNotebook, BKM_SETPAGEWINDOWHWND,
|
---|
155 | MPFROMP( ulPageId ), MPFROMLONG( hwndPage ) );
|
---|
156 |
|
---|
157 | /*******************************************************************/
|
---|
158 | /* Get Tab Text from DLL */
|
---|
159 | /*******************************************************************/
|
---|
160 |
|
---|
161 | #if 0
|
---|
162 | WinLoadString(WinQueryAnchorBlock( HWND_DESKTOP ), ,
|
---|
163 | (USHORT)IDB_EXAMPLE, CCHMAXPATH, szTabText );
|
---|
164 | #endif
|
---|
165 |
|
---|
166 | /*******************************************************************/
|
---|
167 | /* Set Tab Text */
|
---|
168 | /*******************************************************************/
|
---|
169 |
|
---|
170 | WinSendMsg( pMCIDevSettings->hwndNotebook, BKM_SETTABTEXT,
|
---|
171 | MPFROMP( ulPageId ), szTabText );
|
---|
172 |
|
---|
173 | return( hwndPage );
|
---|
174 |
|
---|
175 | }
|
---|
176 |
|
---|
177 |
|
---|
178 |
|
---|
179 |
|
---|