source: branches/v2.9/mediafolder/MMconfigPage/cddbpage.c

Last change on this file was 2, checked in by stevenhl, 8 years ago

Import sources from cwmm-full.zip dated 2005-03-21

File size: 5.4 KB
Line 
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
12int main()
13{
14 exit();
15}
16#endif
17
18/*char chrMMDir[CCHMAXPATH];
19 */
20static 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
33static 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
50typedef struct {
51 HWND hwndHelpInstance;
52} MMPAGEINFO;
53typedef MMPAGEINFO * PMMPAGEINFO;
54
55
56
57/*******************************************************************/
58/* Modeless secondary window procedure */
59/*******************************************************************/
60MRESULT 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
115HWND 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
Note: See TracBrowser for help on using the repository browser.