|
|
| 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); | |
| } | |