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 9129 - (show annotations) (download) (as text)
Sat Jan 16 05:21:37 2021 UTC (3 years, 4 months ago) by zmatsuo
File MIME type: text/x-csrc
File size: 2577 byte(s)
VS2005 による Windows 95 のサポート方法を変更

- 各々のソースファイル内の Windows 95 サポート用コードを不要にする
  - ファイルのinclude + 関数呼出をやめる
    - #include "compat_w95.h" を削除
    - DoCover_IsDebuggerPresent() 呼び出しを削除
  - 代わりにファイル(common/compat_w95_vs2005.c)をリンク
- VSプロジェクトファイル
  - プロジェクトから compat_w95.h を削除
  - VS2005プロジェクトに compat_w95_vs2005.c を追加
    - VS2005以外では Windows 95 で動作するバイナリが生成できないので追加は不要
- cmake
  - SUPPORT_OLD_WINDOWS=ON 時、compat_w95_vs2005.c をリンクするよう修正
  - なるべく target_* を使用するよう修正
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 #define ORDER 5800
10 #define ID_MENUITEM 55199
11
12 #define TERM_WIDTH 80
13 #define TERM_HEIGHT 24
14 #define MENU_STR "80x24"
15
16 static HANDLE hInst; /* Instance handle of TTX*.DLL */
17
18 typedef struct {
19 PTTSet ts;
20 PComVar cv;
21 HMENU SetupMenu;
22 BOOL ReplaceTermDlg;
23 } TInstVar;
24
25 static TInstVar *pvar;
26 static TInstVar InstVar;
27
28 static void PASCAL TTXInit(PTTSet ts, PComVar cv) {
29 pvar->ts = ts;
30 pvar->cv = cv;
31 pvar->ReplaceTermDlg = FALSE;
32 }
33
34 static BOOL PASCAL TTXSetupTerminal(HWND parent, PTTSet ts) {
35 pvar->ReplaceTermDlg = FALSE;
36 return (TRUE);
37 }
38
39 static void PASCAL TTXGetUIHooks(TTXUIHooks *hooks) {
40 if (pvar->ReplaceTermDlg) {
41 *hooks->SetupTerminal = TTXSetupTerminal;
42 }
43 return;
44 }
45
46 static void PASCAL TTXModifyMenu(HMENU menu) {
47 pvar->SetupMenu = menu;
48 InsertMenu(pvar->SetupMenu, ID_HELPMENU, MF_ENABLED, ID_MENUITEM, MENU_STR);
49 }
50
51 static int PASCAL TTXProcessCommand(HWND hWin, WORD cmd) {
52 if (cmd == ID_MENUITEM) {
53 pvar->ts->TerminalWidth = TERM_WIDTH;
54 pvar->ts->TerminalHeight = TERM_HEIGHT;
55 pvar->ReplaceTermDlg = TRUE;
56
57 // Call Setup-Terminal dialog
58 SendMessage(hWin, WM_COMMAND, MAKELONG(ID_SETUP_TERMINAL, 0), 0);
59 return 1;
60 }
61 return 0;
62 }
63
64 static TTXExports Exports = {
65 sizeof(TTXExports),
66 ORDER,
67
68 TTXInit,
69 TTXGetUIHooks,
70 NULL, // TTXGetSetupHooks,
71 NULL, // TTXOpenTCP,
72 NULL, // TTXCloseTCP,
73 NULL, // TTXSetWinSize,
74 TTXModifyMenu,
75 NULL, // TTXModifyPopupMenu,
76 TTXProcessCommand,
77 NULL, // TTXEnd
78 };
79
80 BOOL __declspec(dllexport) PASCAL TTXBind(WORD Version, TTXExports *exports) {
81 int size = sizeof(Exports) - sizeof(exports->size);
82
83 if (size > exports->size) {
84 size = exports->size;
85 }
86 memcpy((char *)exports + sizeof(exports->size),
87 (char *)&Exports + sizeof(exports->size),
88 size);
89 return TRUE;
90 }
91
92 BOOL WINAPI DllMain(HANDLE hInstance,
93 ULONG ul_reason_for_call,
94 LPVOID lpReserved)
95 {
96 switch( ul_reason_for_call ) {
97 case DLL_THREAD_ATTACH:
98 /* do thread initialization */
99 break;
100 case DLL_THREAD_DETACH:
101 /* do thread cleanup */
102 break;
103 case DLL_PROCESS_ATTACH:
104 /* do process initialization */
105 hInst = hInstance;
106 pvar = &InstVar;
107 break;
108 case DLL_PROCESS_DETACH:
109 /* do process cleanup */
110 break;
111 }
112 return TRUE;
113 }

Properties

Name Value
svn:executable *

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