| version 1.2, 2003/11/01 22:23:04 | version 1.5, 2004/01/22 01:10:05 | 
| Line 1 | Line 1 | 
 | #include        "compiler.h" | #include        "compiler.h" | 
 |  | #include        <prsht.h> | 
 | #include        "resource.h" | #include        "resource.h" | 
 | #include        "winloc.h" | #include        "winloc.h" | 
 | #include        "np2class.h" | #include        "np2class.h" | 
| Line 31  void np2class_deinitialize(HINSTANCE hin | Line 32  void np2class_deinitialize(HINSTANCE hin | 
 | } | } | 
 |  |  | 
 |  |  | 
| // ---- | // ---- | 
 |  |  | 
 | void np2class_move(HWND hWnd, int posx, int posy, int cx, int cy) { | void np2class_move(HWND hWnd, int posx, int posy, int cx, int cy) { | 
 |  |  | 
| Line 54  void np2class_move(HWND hWnd, int posx, | Line 55  void np2class_move(HWND hWnd, int posx, | 
 | MoveWindow(hWnd, posx, posy, cx, cy, TRUE); | MoveWindow(hWnd, posx, posy, cx, cy, TRUE); | 
 | } | } | 
 |  |  | 
 |  | // ---- | 
 |  |  | 
 |  | int CALLBACK np2class_propetysheet(HWND hWndDlg, UINT uMsg, LPARAM lParam) { | 
 |  |  | 
 |  | if (uMsg == PSCB_INITIALIZED) { | 
 |  | SetWindowLong(hWndDlg, GWL_EXSTYLE, | 
 |  | GetWindowLong(hWndDlg, GWL_EXSTYLE) & (~WS_EX_CONTEXTHELP)); | 
 |  | } | 
 |  | return(0); | 
 |  | } | 
 |  |  | 
 |  |  | 
 | // ---- | // ---- | 
 |  |  | 
| void np2class_windowtype(HWND hWnd, BYTE type) { | void np2class_wmcreate(HWND hWnd) { | 
 |  |  | 
| RECT            rect; | SetWindowLong(hWnd, NP2GWL_HMENU, 0); | 
| DWORD           style; | } | 
| HMENU           hmenu; |  | 
|  | void np2class_wmdestroy(HWND hWnd) { | 
|  |  | 
|  | HMENU   hmenu; | 
 |  |  | 
 | GetClientRect(hWnd, &rect); |  | 
 | style = GetWindowLong(hWnd, GWL_STYLE); |  | 
 | hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); | hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); | 
| if (!(type & 1)) { | if (hmenu != NULL) { | 
| style |= WS_CAPTION; | DestroyMenu(hmenu); | 
|  | SetWindowLong(hWnd, NP2GWL_HMENU, 0); | 
|  | } | 
|  | } | 
|  |  | 
|  | void np2class_enablemenu(HWND hWnd, BOOL enable) { | 
|  |  | 
|  | HMENU   hmenu; | 
|  | BOOL    draw; | 
|  |  | 
|  | hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); | 
|  | draw = FALSE; | 
|  | if (enable) { | 
 | if (hmenu) { | if (hmenu) { | 
 | SetMenu(hWnd, hmenu); | SetMenu(hWnd, hmenu); | 
 | hmenu = NULL; | hmenu = NULL; | 
 |  | draw = TRUE; | 
 | } | } | 
 | } | } | 
 | else { | else { | 
 | style &= ~WS_CAPTION; |  | 
 | if (hmenu == NULL) { | if (hmenu == NULL) { | 
 | hmenu = GetMenu(hWnd); | hmenu = GetMenu(hWnd); | 
| SetMenu(hWnd, NULL); | if (hmenu) { | 
|  | SetMenu(hWnd, NULL); | 
|  | draw = TRUE; | 
|  | } | 
 | } | } | 
 | } | } | 
 | SetWindowLong(hWnd, GWL_STYLE, style); |  | 
 | SetWindowLong(hWnd, NP2GWL_HMENU, (LONG)hmenu); | SetWindowLong(hWnd, NP2GWL_HMENU, (LONG)hmenu); | 
 |  | if (draw) { | 
 |  | DrawMenuBar(hWnd); | 
 |  | } | 
 |  | } | 
 |  |  | 
 |  | void np2class_windowtype(HWND hWnd, BYTE type) { | 
 |  |  | 
 |  | RECT            rect; | 
 |  | DWORD           style; | 
 |  |  | 
 |  | GetClientRect(hWnd, &rect); | 
 |  | style = GetWindowLong(hWnd, GWL_STYLE); | 
 |  | switch(type) { | 
 |  | case 0: | 
 |  | default: | 
 |  | style |= WS_CAPTION; | 
 |  | np2class_enablemenu(hWnd, TRUE); | 
 |  | break; | 
 |  |  | 
 |  | case 1: | 
 |  | style |= WS_CAPTION; | 
 |  | np2class_enablemenu(hWnd, FALSE); | 
 |  | break; | 
 |  |  | 
 |  | case 2: | 
 |  | style &= ~WS_CAPTION; | 
 |  | np2class_enablemenu(hWnd, FALSE); | 
 |  | break; | 
 |  | } | 
 |  | SetWindowLong(hWnd, GWL_STYLE, style); | 
 | SetWindowPos(hWnd, 0, 0, 0, 0, 0, | SetWindowPos(hWnd, 0, 0, 0, 0, 0, | 
| SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER); | SWP_FRAMECHANGED | SWP_DRAWFRAME | | 
|  | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER); | 
 | winloc_setclientsize(hWnd, | winloc_setclientsize(hWnd, | 
 | rect.right - rect.left, rect.bottom - rect.top); | rect.right - rect.left, rect.bottom - rect.top); | 
 | } | } | 
| Line 99  HMENU np2class_gethmenu(HWND hWnd) { | Line 157  HMENU np2class_gethmenu(HWND hWnd) { | 
 | return(ret); | return(ret); | 
 | } | } | 
 |  |  | 
 | void np2class_destroymenu(HWND hWnd) { |  | 
 |  |  | 
 | HMENU   hmenu; |  | 
 |  |  | 
 | hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); |  | 
 | if (hmenu != NULL) { |  | 
 | DestroyMenu(hmenu); |  | 
 | SetWindowLong(hWnd, NP2GWL_HMENU, 0); |  | 
 | } |  | 
 | } |  | 
 |  |  |