|
|
| version 1.2, 2003/11/01 22:23:04 | version 1.6, 2004/05/23 15:01:45 |
|---|---|
| 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; | |
| 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; | |
| GetClientRect(hWnd, &rect); | |
| style = GetWindowLong(hWnd, GWL_STYLE); | |
| hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); | hmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU); |
| if (!(type & 1)) { | draw = FALSE; |
| style |= WS_CAPTION; | 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, | |
| SWP_FRAMECHANGED | SWP_DRAWFRAME | | |
| SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER); | |
| winloc_setclientsize(hWnd, | |
| rect.right - rect.left, rect.bottom - rect.top); | |
| } | |
| void np2class_frametype(HWND hWnd, BYTE thick) { | |
| RECT rect; | |
| DWORD style; | |
| GetClientRect(hWnd, &rect); | |
| style = GetWindowLong(hWnd, GWL_STYLE); | |
| if (thick) { | |
| style |= WS_THICKFRAME; | |
| } | |
| else { | |
| style &= ~WS_THICKFRAME; | |
| } | |
| 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); |
| } | } |
| HMENU np2class_gethmenu(HWND hWnd) { | HMENU np2class_gethmenu(HWND hWnd) { |
| HMENU ret; | HMENU ret; |
| Line 99 HMENU np2class_gethmenu(HWND hWnd) { | Line 180 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); | |
| } | |
| } | |