Open-Source-Software-Entwicklung und Downloads

Browse Subversion Repository

Contents of /trunk/TTXSamples/TTXResizeWin/TTXResizeWin.c

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *

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