| version 1.1, 2003/10/30 12:45:38 | 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        "np2class.h" | 
 |  |  | 
 |  |  | 
 | const char np2dlgclass[] = "np2dialog"; | const char np2dlgclass[] = "np2dialog"; | 
 |  |  | 
 |  |  | 
 | void np2class_initialize(HINSTANCE hinst) { | void np2class_initialize(HINSTANCE hinst) { | 
 |  |  | 
 | WNDCLASS        wc; | WNDCLASS        wc; | 
| Line 28  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 51  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_wmcreate(HWND hWnd) { | 
 |  |  | 
 |  | SetWindowLong(hWnd, NP2GWL_HMENU, 0); | 
 |  | } | 
 |  |  | 
 |  | void np2class_wmdestroy(HWND hWnd) { | 
 |  |  | 
 |  | HMENU   hmenu; | 
 |  |  | 
 |  | hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); | 
 |  | if (hmenu != NULL) { | 
 |  | 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) { | 
 |  | SetMenu(hWnd, hmenu); | 
 |  | hmenu = NULL; | 
 |  | draw = TRUE; | 
 |  | } | 
 |  | } | 
 |  | else { | 
 |  | if (hmenu == NULL) { | 
 |  | hmenu = GetMenu(hWnd); | 
 |  | if (hmenu) { | 
 |  | SetMenu(hWnd, NULL); | 
 |  | draw = TRUE; | 
 |  | } | 
 |  | } | 
 |  | } | 
 |  | 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, | 
 |  | SWP_FRAMECHANGED | SWP_DRAWFRAME | | 
 |  | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER); | 
 |  | winloc_setclientsize(hWnd, | 
 |  | rect.right - rect.left, rect.bottom - rect.top); | 
 |  | } | 
 |  |  | 
 |  | HMENU np2class_gethmenu(HWND hWnd) { | 
 |  |  | 
 |  | HMENU   ret; | 
 |  |  | 
 |  | ret = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); | 
 |  | if (ret == NULL) { | 
 |  | ret = GetMenu(hWnd); | 
 |  | } | 
 |  | return(ret); | 
 |  | } | 
 |  |  |