Open-Source-Software-Entwicklung und Downloads

Browse Subversion Repository

Diff of /trunk/TTXSamples/TTXResizeWin/TTXResizeWin.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3226 by maya, Tue Mar 24 09:37:20 2009 UTC revision 3227 by maya, Tue Mar 24 15:10:33 2009 UTC
# Line 1  Line 1 
1  #include "teraterm.h"  #include "teraterm.h"
2  #include "tttypes.h"  #include "tttypes.h"
3  #include "ttplugin.h"  #include "ttplugin.h"
4  #include "tt_res.h"  #include "tt_res.h"
5  #include <stdlib.h>  #include <stdlib.h>
6  #include <stdio.h>  #include <stdio.h>
7  #include <string.h>  #include <string.h>
8    
9  #include "compat_w95.h"  #include "compat_w95.h"
10    
11  #define ORDER 5800  #define ORDER 5800
12  #define ID_MENUITEM 55199  #define ID_MENUITEM 55199
13    
14  #define TERM_WIDTH  80  #define TERM_WIDTH  80
15  #define TERM_HEIGHT 24  #define TERM_HEIGHT 24
16  #define MENU_STR    "80x24"  #define MENU_STR    "80x24"
17    
18  static HANDLE hInst; /* Instance handle of TTX*.DLL */  static HANDLE hInst; /* Instance handle of TTX*.DLL */
19    
20  typedef struct {  typedef struct {
21    PTTSet ts;    PTTSet ts;
22    PComVar cv;    PComVar cv;
23    HMENU SetupMenu;    HMENU SetupMenu;
24    BOOL ReplaceTermDlg;    BOOL ReplaceTermDlg;
25  } TInstVar;  } TInstVar;
26    
27  static TInstVar FAR * pvar;  static TInstVar FAR * pvar;
28  static TInstVar InstVar;  static TInstVar InstVar;
29    
30  static void PASCAL FAR TTXInit(PTTSet ts, PComVar cv) {  static void PASCAL FAR TTXInit(PTTSet ts, PComVar cv) {
31    pvar->ts = ts;    pvar->ts = ts;
32    pvar->cv = cv;    pvar->cv = cv;
33    pvar->ReplaceTermDlg = FALSE;    pvar->ReplaceTermDlg = FALSE;
34  }  }
35    
36  static BOOL FAR PASCAL TTXSetupTerminal(HWND parent, PTTSet ts) {  static BOOL FAR PASCAL TTXSetupTerminal(HWND parent, PTTSet ts) {
37    pvar->ReplaceTermDlg = FALSE;    pvar->ReplaceTermDlg = FALSE;
38    return (TRUE);    return (TRUE);
39  }  }
40    
41  static void PASCAL FAR TTXGetUIHooks(TTXUIHooks FAR * hooks) {  static void PASCAL FAR TTXGetUIHooks(TTXUIHooks FAR * hooks) {
42    if (pvar->ReplaceTermDlg) {    if (pvar->ReplaceTermDlg) {
43      *hooks->SetupTerminal = TTXSetupTerminal;      *hooks->SetupTerminal = TTXSetupTerminal;
44    }    }
45    return;    return;
46  }  }
47    
48  static void PASCAL FAR TTXModifyMenu(HMENU menu) {  static void PASCAL FAR TTXModifyMenu(HMENU menu) {
49    pvar->SetupMenu = menu;    pvar->SetupMenu = menu;
50    InsertMenu(pvar->SetupMenu, ID_HELPMENU, MF_ENABLED, ID_MENUITEM, MENU_STR);    InsertMenu(pvar->SetupMenu, ID_HELPMENU, MF_ENABLED, ID_MENUITEM, MENU_STR);
51  }  }
52    
53  static int PASCAL FAR TTXProcessCommand(HWND hWin, WORD cmd) {  static int PASCAL FAR TTXProcessCommand(HWND hWin, WORD cmd) {
54    if (cmd == ID_MENUITEM) {    if (cmd == ID_MENUITEM) {
55      pvar->ts->TerminalWidth = TERM_WIDTH;      pvar->ts->TerminalWidth = TERM_WIDTH;
56      pvar->ts->TerminalHeight = TERM_HEIGHT;      pvar->ts->TerminalHeight = TERM_HEIGHT;
57      pvar->ReplaceTermDlg = TRUE;      pvar->ReplaceTermDlg = TRUE;
58    
59      // Call Setup-Terminal dialog      // Call Setup-Terminal dialog
60      SendMessage(hWin, WM_COMMAND, MAKELONG(ID_SETUP_TERMINAL, 0), 0);      SendMessage(hWin, WM_COMMAND, MAKELONG(ID_SETUP_TERMINAL, 0), 0);
61      return 1;      return 1;
62    }    }
63    return 0;    return 0;
64  }  }
65    
66  static TTXExports Exports = {  static TTXExports Exports = {
67    sizeof(TTXExports),    sizeof(TTXExports),
68    ORDER,    ORDER,
69    
70    TTXInit,    TTXInit,
71    TTXGetUIHooks,    TTXGetUIHooks,
72    NULL, // TTXGetSetupHooks,    NULL, // TTXGetSetupHooks,
73    NULL, // TTXOpenTCP,    NULL, // TTXOpenTCP,
74    NULL, // TTXCloseTCP,    NULL, // TTXCloseTCP,
75    NULL, // TTXSetWinSize,    NULL, // TTXSetWinSize,
76    TTXModifyMenu,    TTXModifyMenu,
77    NULL, // TTXModifyPopupMenu,    NULL, // TTXModifyPopupMenu,
78    TTXProcessCommand,    TTXProcessCommand,
79    NULL, // TTXEnd    NULL, // TTXEnd
80  };  };
81    
82  BOOL __declspec(dllexport) PASCAL FAR TTXBind(WORD Version, TTXExports FAR * exports) {  BOOL __declspec(dllexport) PASCAL FAR TTXBind(WORD Version, TTXExports FAR * exports) {
83    int size = sizeof(Exports) - sizeof(exports->size);    int size = sizeof(Exports) - sizeof(exports->size);
84    
85    if (size > exports->size) {    if (size > exports->size) {
86      size = exports->size;      size = exports->size;
87    }    }
88    memcpy((char FAR *)exports + sizeof(exports->size),    memcpy((char FAR *)exports + sizeof(exports->size),
89           (char FAR *)&Exports + sizeof(exports->size),           (char FAR *)&Exports + sizeof(exports->size),
90           size);           size);
91    return TRUE;    return TRUE;
92  }  }
93    
94  BOOL WINAPI DllMain(HANDLE hInstance,  BOOL WINAPI DllMain(HANDLE hInstance,
95                      ULONG ul_reason_for_call,                      ULONG ul_reason_for_call,
96                      LPVOID lpReserved)                      LPVOID lpReserved)
97  {  {
98    switch( ul_reason_for_call ) {    switch( ul_reason_for_call ) {
99      case DLL_THREAD_ATTACH:      case DLL_THREAD_ATTACH:
100        /* do thread initialization */        /* do thread initialization */
101        break;        break;
102      case DLL_THREAD_DETACH:      case DLL_THREAD_DETACH:
103        /* do thread cleanup */        /* do thread cleanup */
104        break;        break;
105      case DLL_PROCESS_ATTACH:      case DLL_PROCESS_ATTACH:
106        /* do process initialization */        /* do process initialization */
107        DoCover_IsDebuggerPresent();        DoCover_IsDebuggerPresent();
108        hInst = hInstance;        hInst = hInstance;
109        pvar = &InstVar;        pvar = &InstVar;
110        break;        break;
111      case DLL_PROCESS_DETACH:      case DLL_PROCESS_DETACH:
112        /* do process cleanup */        /* do process cleanup */
113        break;        break;
114    }    }
115    return TRUE;    return TRUE;
116  }  }

Legend:
Removed from v.3226  
changed lines
  Added in v.3227

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26