Changeset 551 for trunk/dll/objwin.c
- Timestamp:
- Feb 28, 2007, 2:33:51 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/objwin.c
r516 r551 34 34 #pragma alloc_text(OBJWIN,ObjectWndProc,MakeObjWin) 35 35 36 MRESULT EXPENTRY ObjectWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)36 MRESULT EXPENTRY ObjectWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 37 37 { 38 38 DIRCNRDATA *dcd; 39 39 40 dcd = WinQueryWindowPtr(hwnd, QWL_USER);41 if (dcd) {42 switch (dcd->type) {43 44 return DirObjWndProc(hwnd,msg,mp1,mp2);45 46 return TreeObjWndProc(hwnd,msg,mp1,mp2);47 48 return CollectorObjWndProc(hwnd,msg,mp1,mp2);49 50 return ArcObjWndProc(hwnd,msg,mp1,mp2);40 dcd = WinQueryWindowPtr(hwnd, QWL_USER); 41 if (dcd) { 42 switch (dcd->type) { 43 case DIR_FRAME: 44 return DirObjWndProc(hwnd, msg, mp1, mp2); 45 case TREE_FRAME: 46 return TreeObjWndProc(hwnd, msg, mp1, mp2); 47 case COLLECTOR_FRAME: 48 return CollectorObjWndProc(hwnd, msg, mp1, mp2); 49 case ARC_FRAME: 50 return ArcObjWndProc(hwnd, msg, mp1, mp2); 51 51 } 52 52 } 53 return WinDefWindowProc(hwnd, msg,mp1,mp2);53 return WinDefWindowProc(hwnd, msg, mp1, mp2); 54 54 } 55 55 56 57 VOID MakeObjWin (VOID *args) 56 VOID MakeObjWin(VOID * args) 58 57 { 59 HWND 60 HAB 61 HMQ 62 QMSG 58 HWND ObjectHwnd; 59 HAB hab2; 60 HMQ hmq2; 61 QMSG qmsg2; 63 62 64 63 hab2 = WinInitialize(0); 65 if (hab2) {66 hmq2 = WinCreateMsgQueue(hab2, 512);67 if (hmq2) {64 if (hab2) { 65 hmq2 = WinCreateMsgQueue(hab2, 512); 66 if (hmq2) { 68 67 DosError(FERR_DISABLEHARDERR); 69 68 WinRegisterClass(hab2, 70 GetPString(IDS_WCOBJECTWINDOW), 71 ObjectWndProc, 72 0, 73 sizeof(PVOID)); 69 GetPString(IDS_WCOBJECTWINDOW), 70 ObjectWndProc, 0, sizeof(PVOID)); 74 71 ObjectHwnd = WinCreateWindow(HWND_OBJECT, 75 GetPString(IDS_WCOBJECTWINDOW), 76 (PSZ)NULL, 77 0, 78 0L, 79 0L, 80 0L, 81 0L, 82 0L, 83 HWND_TOP, 84 OBJ_FRAME, 85 NULL, 86 NULL); 72 GetPString(IDS_WCOBJECTWINDOW), 73 (PSZ) NULL, 74 0, 75 0L, 76 0L, 77 0L, 78 0L, 0L, HWND_TOP, OBJ_FRAME, NULL, NULL); 87 79 if (!ObjectHwnd) 88 Win_Error2(HWND_OBJECT,HWND_DESKTOP,pszSrcFile,__LINE__,IDS_WINCREATEWINDOW); 80 Win_Error2(HWND_OBJECT, HWND_DESKTOP, pszSrcFile, __LINE__, 81 IDS_WINCREATEWINDOW); 89 82 else { 90 WinSetWindowPtr(ObjectHwnd,QWL_USER,args);91 92 WinSendMsg(ObjectHwnd,UM_SETUP,MPVOID,MPVOID);93 PostMsg(ObjectHwnd,UM_RESCAN,MPVOID,MPVOID);94 95 while(WinGetMsg(hab2,&qmsg2,(HWND)0,0,0))96 WinDispatchMsg(hab2,&qmsg2);97 83 WinSetWindowPtr(ObjectHwnd, QWL_USER, args); 84 /* initially populate container */ 85 WinSendMsg(ObjectHwnd, UM_SETUP, MPVOID, MPVOID); 86 PostMsg(ObjectHwnd, UM_RESCAN, MPVOID, MPVOID); 87 priority_normal(); 88 while (WinGetMsg(hab2, &qmsg2, (HWND) 0, 0, 0)) 89 WinDispatchMsg(hab2, &qmsg2); 90 WinDestroyWindow(ObjectHwnd); 98 91 } 99 92 WinDestroyMsgQueue(hmq2); … … 102 95 } 103 96 } 104
Note:
See TracChangeset
for help on using the changeset viewer.