1 |
/* Tera Term |
/* Tera Term |
2 |
Copyright(C) 1994-1998 T. Teranishi |
Copyright(C) 1994-1998 T. Teranishi |
3 |
All rights reserved. */ |
All rights reserved. */ |
4 |
|
|
5 |
/* TERATERM.EXE, TEK window */ |
/* TERATERM.EXE, TEK window */ |
6 |
#include "stdafx.h" |
#include "stdafx.h" |
7 |
#include "teraterm.h" |
#include "teraterm.h" |
8 |
#include "tttypes.h" |
#include "tttypes.h" |
9 |
#include "tektypes.h" |
#include "tektypes.h" |
10 |
#include "teklib.h" |
#include "teklib.h" |
11 |
#include "ttwinman.h" |
#include "ttwinman.h" |
12 |
#include "ttcommon.h" |
#include "ttcommon.h" |
13 |
#include "keyboard.h" |
#include "keyboard.h" |
14 |
#include "clipboar.h" |
#include "clipboar.h" |
15 |
#include "ttdialog.h" |
#include "ttdialog.h" |
16 |
#include "teraprn.h" |
#include "teraprn.h" |
17 |
#include "helpid.h" |
#include "helpid.h" |
18 |
#include "tt_res.h" |
#include "tt_res.h" |
19 |
#include "tekwin.h" |
#include "tekwin.h" |
20 |
#include "ttlib.h" |
#include "ttlib.h" |
21 |
|
|
22 |
#define TEKClassName "TEKWin32" |
#define TEKClassName "TEKWin32" |
23 |
|
|
24 |
#ifdef _DEBUG |
#ifdef _DEBUG |
25 |
#define new DEBUG_NEW |
#define new DEBUG_NEW |
26 |
#undef THIS_FILE |
#undef THIS_FILE |
27 |
static char THIS_FILE[] = __FILE__; |
static char THIS_FILE[] = __FILE__; |
28 |
#endif |
#endif |
29 |
|
|
30 |
///////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////// |
31 |
// CTEKWindow |
// CTEKWindow |
32 |
|
|
33 |
CTEKWindow::CTEKWindow() |
CTEKWindow::CTEKWindow() |
34 |
{ |
{ |
35 |
WNDCLASS wc; |
WNDCLASS wc; |
36 |
RECT rect; |
RECT rect; |
37 |
DWORD Style; |
DWORD Style; |
38 |
int fuLoad = LR_DEFAULTCOLOR; |
int fuLoad = LR_DEFAULTCOLOR; |
39 |
|
|
40 |
if (! LoadTTTEK()) return; |
if (! LoadTTTEK()) return; |
41 |
TEKInit(&tk, &ts); |
TEKInit(&tk, &ts); |
42 |
|
|
43 |
if (ts.HideTitle>0) |
if (ts.HideTitle>0) |
44 |
Style = WS_POPUP | WS_THICKFRAME | WS_BORDER; |
Style = WS_POPUP | WS_THICKFRAME | WS_BORDER; |
45 |
else |
else |
46 |
Style = WS_CAPTION | WS_SYSMENU | |
Style = WS_CAPTION | WS_SYSMENU | |
47 |
WS_MINIMIZEBOX | WS_BORDER | WS_THICKFRAME; |
WS_MINIMIZEBOX | WS_BORDER | WS_THICKFRAME; |
48 |
|
|
49 |
wc.style = CS_HREDRAW | CS_VREDRAW; |
wc.style = CS_HREDRAW | CS_VREDRAW; |
50 |
wc.lpfnWndProc = AfxWndProc; |
wc.lpfnWndProc = AfxWndProc; |
51 |
wc.cbClsExtra = 0; |
wc.cbClsExtra = 0; |
52 |
wc.cbWndExtra = 0; |
wc.cbWndExtra = 0; |
53 |
wc.hInstance = AfxGetInstanceHandle(); |
wc.hInstance = AfxGetInstanceHandle(); |
54 |
wc.hIcon = NULL; |
wc.hIcon = NULL; |
55 |
wc.hCursor = LoadCursor(NULL,IDC_ARROW); |
wc.hCursor = LoadCursor(NULL,IDC_ARROW); |
56 |
wc.hbrBackground = NULL; |
wc.hbrBackground = NULL; |
57 |
wc.lpszMenuName = NULL; |
wc.lpszMenuName = NULL; |
58 |
wc.lpszClassName = TEKClassName; |
wc.lpszClassName = TEKClassName; |
59 |
|
|
60 |
RegisterClass(&wc); |
RegisterClass(&wc); |
61 |
|
|
62 |
if (ts.TEKPos.x==CW_USEDEFAULT) |
if (ts.TEKPos.x==CW_USEDEFAULT) |
63 |
rect = rectDefault; |
rect = rectDefault; |
64 |
else { |
else { |
65 |
rect.left = ts.TEKPos.x; |
rect.left = ts.TEKPos.x; |
66 |
rect.top = ts.TEKPos.y; |
rect.top = ts.TEKPos.y; |
67 |
rect.right = rect.left + 640; //temporary width |
rect.right = rect.left + 640; //temporary width |
68 |
rect.bottom = rect.top + 400; //temporary height |
rect.bottom = rect.top + 400; //temporary height |
69 |
} |
} |
70 |
Create(TEKClassName, "Tera Term", Style, rect, GetDesktopWindow(), NULL); |
Create(TEKClassName, "Tera Term", Style, rect, GetDesktopWindow(), NULL); |
71 |
//-------------------------------------------------------- |
//-------------------------------------------------------- |
72 |
HTEKWin = GetSafeHwnd(); |
HTEKWin = GetSafeHwnd(); |
73 |
if (HTEKWin == NULL) return; |
if (HTEKWin == NULL) return; |
74 |
tk.HWin = HTEKWin; |
tk.HWin = HTEKWin; |
75 |
// register this window to the window list |
// register this window to the window list |
76 |
RegWin(HVTWin,HTEKWin); |
RegWin(HVTWin,HTEKWin); |
77 |
|
|
78 |
if (is_NT4()) { |
if (is_NT4()) { |
79 |
fuLoad = LR_VGACOLOR; |
fuLoad = LR_VGACOLOR; |
80 |
} |
} |
81 |
::PostMessage(HTEKWin,WM_SETICON,ICON_SMALL, |
::PostMessage(HTEKWin,WM_SETICON,ICON_SMALL, |
82 |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
83 |
MAKEINTRESOURCE((ts.TEKIcon!=IdIconDefault)?ts.TEKIcon:IDI_TEK), |
MAKEINTRESOURCE((ts.TEKIcon!=IdIconDefault)?ts.TEKIcon:IDI_TEK), |
84 |
IMAGE_ICON,16,16,fuLoad)); |
IMAGE_ICON,16,16,fuLoad)); |
85 |
::PostMessage(HTEKWin,WM_SETICON,ICON_BIG, |
::PostMessage(HTEKWin,WM_SETICON,ICON_BIG, |
86 |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
87 |
MAKEINTRESOURCE((ts.TEKIcon!=IdIconDefault)?ts.TEKIcon:IDI_TEK), |
MAKEINTRESOURCE((ts.TEKIcon!=IdIconDefault)?ts.TEKIcon:IDI_TEK), |
88 |
IMAGE_ICON, 0, 0, fuLoad)); |
IMAGE_ICON, 0, 0, fuLoad)); |
89 |
|
|
90 |
MainMenu = NULL; |
MainMenu = NULL; |
91 |
WinMenu = NULL; |
WinMenu = NULL; |
92 |
if ((ts.HideTitle==0) && (ts.PopupMenu==0)) |
if ((ts.HideTitle==0) && (ts.PopupMenu==0)) |
93 |
{ |
{ |
94 |
InitMenu(&MainMenu); |
InitMenu(&MainMenu); |
95 |
::SetMenu(HTEKWin,MainMenu); |
::SetMenu(HTEKWin,MainMenu); |
96 |
} |
} |
97 |
|
|
98 |
ChangeTitle(); |
ChangeTitle(); |
99 |
|
|
100 |
::GetWindowRect(tk.HWin,&rect); |
::GetWindowRect(tk.HWin,&rect); |
101 |
TEKResizeWindow(&tk,&ts, |
TEKResizeWindow(&tk,&ts, |
102 |
rect.right-rect.left, rect.bottom-rect.top); |
rect.right-rect.left, rect.bottom-rect.top); |
103 |
|
|
104 |
if ((ts.PopupMenu>0) || (ts.HideTitle>0)) |
if ((ts.PopupMenu>0) || (ts.HideTitle>0)) |
105 |
::PostMessage(HTEKWin,WM_USER_CHANGEMENU,0,0); |
::PostMessage(HTEKWin,WM_USER_CHANGEMENU,0,0); |
106 |
|
|
107 |
::ShowWindow(tk.HWin, SW_SHOWNORMAL); |
::ShowWindow(tk.HWin, SW_SHOWNORMAL); |
108 |
} |
} |
109 |
|
|
110 |
int CTEKWindow::Parse() |
int CTEKWindow::Parse() |
111 |
{ |
{ |
112 |
return (TEKParse(&tk,&ts,&cv)); |
return (TEKParse(&tk,&ts,&cv)); |
113 |
} |
} |
114 |
|
|
115 |
void CTEKWindow::RestoreSetup() |
void CTEKWindow::RestoreSetup() |
116 |
{ |
{ |
117 |
TEKRestoreSetup(&tk,&ts); |
TEKRestoreSetup(&tk,&ts); |
118 |
ChangeTitle(); |
ChangeTitle(); |
119 |
} |
} |
120 |
|
|
121 |
void CTEKWindow::InitMenu(HMENU *Menu) |
void CTEKWindow::InitMenu(HMENU *Menu) |
122 |
{ |
{ |
123 |
*Menu = ::LoadMenu(AfxGetInstanceHandle(), |
*Menu = ::LoadMenu(AfxGetInstanceHandle(), |
124 |
MAKEINTRESOURCE(IDR_TEKMENU)); |
MAKEINTRESOURCE(IDR_TEKMENU)); |
125 |
EditMenu = GetSubMenu(MainMenu,1); |
EditMenu = GetSubMenu(MainMenu,1); |
126 |
FileMenu = GetSubMenu(MainMenu,0); |
FileMenu = GetSubMenu(MainMenu,0); |
127 |
SetupMenu = GetSubMenu(MainMenu,2); |
SetupMenu = GetSubMenu(MainMenu,2); |
128 |
HelpMenu = GetSubMenu(MainMenu,4); |
HelpMenu = GetSubMenu(MainMenu,4); |
129 |
char uimsg[MAX_UIMSG]; |
char uimsg[MAX_UIMSG]; |
130 |
|
|
131 |
GetMenuString(*Menu, 0, uimsg, sizeof(uimsg), MF_BYPOSITION); |
GetMenuString(*Menu, 0, uimsg, sizeof(uimsg), MF_BYPOSITION); |
132 |
get_lang_msg("TEKMENU_FILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_FILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
133 |
ModifyMenu(*Menu, 0, MF_BYPOSITION, 0, ts.UIMsg); |
ModifyMenu(*Menu, 0, MF_BYPOSITION, 0, ts.UIMsg); |
134 |
GetMenuString(FileMenu, ID_TEKFILE_PRINT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(FileMenu, ID_TEKFILE_PRINT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
135 |
get_lang_msg("TEKMENU_FILE_PRINT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_FILE_PRINT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
136 |
ModifyMenu(FileMenu, ID_TEKFILE_PRINT, MF_BYCOMMAND, ID_TEKFILE_PRINT, ts.UIMsg); |
ModifyMenu(FileMenu, ID_TEKFILE_PRINT, MF_BYCOMMAND, ID_TEKFILE_PRINT, ts.UIMsg); |
137 |
GetMenuString(FileMenu, ID_TEKFILE_EXIT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(FileMenu, ID_TEKFILE_EXIT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
138 |
get_lang_msg("TEKMENU_FILE_EXIT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_FILE_EXIT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
139 |
ModifyMenu(FileMenu, ID_TEKFILE_EXIT, MF_BYCOMMAND, ID_TEKFILE_EXIT, ts.UIMsg); |
ModifyMenu(FileMenu, ID_TEKFILE_EXIT, MF_BYCOMMAND, ID_TEKFILE_EXIT, ts.UIMsg); |
140 |
|
|
141 |
GetMenuString(*Menu, 1, uimsg, sizeof(uimsg), MF_BYPOSITION); |
GetMenuString(*Menu, 1, uimsg, sizeof(uimsg), MF_BYPOSITION); |
142 |
get_lang_msg("TEKMENU_EDIT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
143 |
ModifyMenu(*Menu, 1, MF_BYPOSITION, 1, ts.UIMsg); |
ModifyMenu(*Menu, 1, MF_BYPOSITION, 1, ts.UIMsg); |
144 |
GetMenuString(EditMenu, ID_TEKEDIT_COPY, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(EditMenu, ID_TEKEDIT_COPY, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
145 |
get_lang_msg("TEKMENU_EDIT_COPY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT_COPY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
146 |
ModifyMenu(EditMenu, ID_TEKEDIT_COPY, MF_BYCOMMAND, ID_TEKEDIT_COPY, ts.UIMsg); |
ModifyMenu(EditMenu, ID_TEKEDIT_COPY, MF_BYCOMMAND, ID_TEKEDIT_COPY, ts.UIMsg); |
147 |
GetMenuString(EditMenu, ID_TEKEDIT_COPYSCREEN, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(EditMenu, ID_TEKEDIT_COPYSCREEN, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
148 |
get_lang_msg("TEKMENU_EDIT_COPYSCREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT_COPYSCREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
149 |
ModifyMenu(EditMenu, ID_TEKEDIT_COPYSCREEN, MF_BYCOMMAND, ID_TEKEDIT_COPYSCREEN, ts.UIMsg); |
ModifyMenu(EditMenu, ID_TEKEDIT_COPYSCREEN, MF_BYCOMMAND, ID_TEKEDIT_COPYSCREEN, ts.UIMsg); |
150 |
GetMenuString(EditMenu, ID_TEKEDIT_PASTE, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(EditMenu, ID_TEKEDIT_PASTE, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
151 |
get_lang_msg("TEKMENU_EDIT_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
152 |
ModifyMenu(EditMenu, ID_TEKEDIT_PASTE, MF_BYCOMMAND, ID_TEKEDIT_PASTE, ts.UIMsg); |
ModifyMenu(EditMenu, ID_TEKEDIT_PASTE, MF_BYCOMMAND, ID_TEKEDIT_PASTE, ts.UIMsg); |
153 |
GetMenuString(EditMenu, ID_TEKEDIT_PASTECR, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(EditMenu, ID_TEKEDIT_PASTECR, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
154 |
get_lang_msg("TEKMENU_EDIT_PASTECR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT_PASTECR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
155 |
ModifyMenu(EditMenu, ID_TEKEDIT_PASTECR, MF_BYCOMMAND, ID_TEKEDIT_PASTECR, ts.UIMsg); |
ModifyMenu(EditMenu, ID_TEKEDIT_PASTECR, MF_BYCOMMAND, ID_TEKEDIT_PASTECR, ts.UIMsg); |
156 |
GetMenuString(EditMenu, ID_TEKEDIT_CLEARSCREEN, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(EditMenu, ID_TEKEDIT_CLEARSCREEN, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
157 |
get_lang_msg("TEKMENU_EDIT_CLSCREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT_CLSCREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
158 |
ModifyMenu(EditMenu, ID_TEKEDIT_CLEARSCREEN, MF_BYCOMMAND, ID_TEKEDIT_CLEARSCREEN, ts.UIMsg); |
ModifyMenu(EditMenu, ID_TEKEDIT_CLEARSCREEN, MF_BYCOMMAND, ID_TEKEDIT_CLEARSCREEN, ts.UIMsg); |
159 |
|
|
160 |
GetMenuString(*Menu, 2, uimsg, sizeof(uimsg), MF_BYPOSITION); |
GetMenuString(*Menu, 2, uimsg, sizeof(uimsg), MF_BYPOSITION); |
161 |
get_lang_msg("TEKMENU_SETUP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_SETUP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
162 |
ModifyMenu(*Menu, 2, MF_BYPOSITION, 2, ts.UIMsg); |
ModifyMenu(*Menu, 2, MF_BYPOSITION, 2, ts.UIMsg); |
163 |
GetMenuString(SetupMenu, ID_TEKSETUP_WINDOW, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(SetupMenu, ID_TEKSETUP_WINDOW, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
164 |
get_lang_msg("TEKMENU_SETUP_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_SETUP_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
165 |
ModifyMenu(SetupMenu, ID_TEKSETUP_WINDOW, MF_BYCOMMAND, ID_TEKSETUP_WINDOW, ts.UIMsg); |
ModifyMenu(SetupMenu, ID_TEKSETUP_WINDOW, MF_BYCOMMAND, ID_TEKSETUP_WINDOW, ts.UIMsg); |
166 |
GetMenuString(SetupMenu, ID_TEKSETUP_FONT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(SetupMenu, ID_TEKSETUP_FONT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
167 |
get_lang_msg("TEKMENU_SETUP_FONT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_SETUP_FONT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
168 |
ModifyMenu(SetupMenu, ID_TEKSETUP_FONT, MF_BYCOMMAND, ID_TEKSETUP_FONT, ts.UIMsg); |
ModifyMenu(SetupMenu, ID_TEKSETUP_FONT, MF_BYCOMMAND, ID_TEKSETUP_FONT, ts.UIMsg); |
169 |
|
|
170 |
GetMenuString(*Menu, ID_TEKVTWIN, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(*Menu, ID_TEKVTWIN, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
171 |
get_lang_msg("TEKMENU_VTWIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_VTWIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
172 |
ModifyMenu(*Menu, ID_TEKVTWIN, MF_BYCOMMAND, ID_TEKVTWIN, ts.UIMsg); |
ModifyMenu(*Menu, ID_TEKVTWIN, MF_BYCOMMAND, ID_TEKVTWIN, ts.UIMsg); |
173 |
|
|
174 |
GetMenuString(*Menu, 4, uimsg, sizeof(uimsg), MF_BYPOSITION); |
GetMenuString(*Menu, 4, uimsg, sizeof(uimsg), MF_BYPOSITION); |
175 |
get_lang_msg("TEKMENU_HELP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_HELP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
176 |
ModifyMenu(*Menu, 4, MF_BYPOSITION, 4, ts.UIMsg); |
ModifyMenu(*Menu, 4, MF_BYPOSITION, 4, ts.UIMsg); |
177 |
GetMenuString(HelpMenu, ID_TEKHELP_INDEX, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(HelpMenu, ID_TEKHELP_INDEX, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
178 |
get_lang_msg("TEKMENU_HELP_INDEX", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_HELP_INDEX", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
179 |
ModifyMenu(HelpMenu, ID_TEKHELP_INDEX, MF_BYCOMMAND, ID_TEKHELP_INDEX, ts.UIMsg); |
ModifyMenu(HelpMenu, ID_TEKHELP_INDEX, MF_BYCOMMAND, ID_TEKHELP_INDEX, ts.UIMsg); |
180 |
GetMenuString(HelpMenu, ID_TEKHELP_ABOUT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
GetMenuString(HelpMenu, ID_TEKHELP_ABOUT, uimsg, sizeof(uimsg), MF_BYCOMMAND); |
181 |
get_lang_msg("TEKMENU_HELP_ABOUT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
get_lang_msg("TEKMENU_HELP_ABOUT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); |
182 |
ModifyMenu(HelpMenu, ID_TEKHELP_ABOUT, MF_BYCOMMAND, ID_TEKHELP_ABOUT, ts.UIMsg); |
ModifyMenu(HelpMenu, ID_TEKHELP_ABOUT, MF_BYCOMMAND, ID_TEKHELP_ABOUT, ts.UIMsg); |
183 |
|
|
184 |
if ((ts.MenuFlag & MF_SHOWWINMENU) !=0) |
if ((ts.MenuFlag & MF_SHOWWINMENU) !=0) |
185 |
{ |
{ |
186 |
WinMenu = CreatePopupMenu(); |
WinMenu = CreatePopupMenu(); |
187 |
get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile); |
get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile); |
188 |
::InsertMenu(*Menu,4, |
::InsertMenu(*Menu,4, |
189 |
MF_STRING | MF_ENABLED | |
MF_STRING | MF_ENABLED | |
190 |
MF_POPUP | MF_BYPOSITION, |
MF_POPUP | MF_BYPOSITION, |
191 |
(int)WinMenu, ts.UIMsg); |
(int)WinMenu, ts.UIMsg); |
192 |
} |
} |
193 |
} |
} |
194 |
|
|
195 |
void CTEKWindow::InitMenuPopup(HMENU SubMenu) |
void CTEKWindow::InitMenuPopup(HMENU SubMenu) |
196 |
{ |
{ |
197 |
if (SubMenu==EditMenu) |
if (SubMenu==EditMenu) |
198 |
{ |
{ |
199 |
if (tk.Select) |
if (tk.Select) |
200 |
EnableMenuItem(EditMenu,ID_TEKEDIT_COPY,MF_BYCOMMAND | MF_ENABLED); |
EnableMenuItem(EditMenu,ID_TEKEDIT_COPY,MF_BYCOMMAND | MF_ENABLED); |
201 |
else |
else |
202 |
EnableMenuItem(EditMenu,ID_TEKEDIT_COPY,MF_BYCOMMAND | MF_GRAYED); |
EnableMenuItem(EditMenu,ID_TEKEDIT_COPY,MF_BYCOMMAND | MF_GRAYED); |
203 |
|
|
204 |
if (cv.Ready && |
if (cv.Ready && |
205 |
(IsClipboardFormatAvailable(CF_TEXT) || |
(IsClipboardFormatAvailable(CF_TEXT) || |
206 |
IsClipboardFormatAvailable(CF_OEMTEXT))) |
IsClipboardFormatAvailable(CF_OEMTEXT))) |
207 |
{ |
{ |
208 |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTE,MF_BYCOMMAND | MF_ENABLED); |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTE,MF_BYCOMMAND | MF_ENABLED); |
209 |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTECR,MF_BYCOMMAND | MF_ENABLED); |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTECR,MF_BYCOMMAND | MF_ENABLED); |
210 |
} |
} |
211 |
else { |
else { |
212 |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTE,MF_BYCOMMAND | MF_GRAYED); |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTE,MF_BYCOMMAND | MF_GRAYED); |
213 |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTECR,MF_BYCOMMAND | MF_GRAYED); |
EnableMenuItem(EditMenu,ID_TEKEDIT_PASTECR,MF_BYCOMMAND | MF_GRAYED); |
214 |
} |
} |
215 |
} |
} |
216 |
else if ( SubMenu == WinMenu ) |
else if ( SubMenu == WinMenu ) |
217 |
{ |
{ |
218 |
SetWinMenu(WinMenu, ts.UIMsg, sizeof(ts.UIMsg), ts.UILanguageFile, 0); |
SetWinMenu(WinMenu, ts.UIMsg, sizeof(ts.UIMsg), ts.UILanguageFile, 0); |
219 |
} |
} |
220 |
} |
} |
221 |
|
|
222 |
BEGIN_MESSAGE_MAP(CTEKWindow, CFrameWnd) |
BEGIN_MESSAGE_MAP(CTEKWindow, CFrameWnd) |
223 |
//{{AFX_MSG_MAP(CTEKWindow) |
//{{AFX_MSG_MAP(CTEKWindow) |
224 |
ON_WM_ACTIVATE() |
ON_WM_ACTIVATE() |
225 |
ON_WM_CHAR() |
ON_WM_CHAR() |
226 |
ON_WM_DESTROY() |
ON_WM_DESTROY() |
227 |
ON_WM_GETMINMAXINFO() |
ON_WM_GETMINMAXINFO() |
228 |
ON_WM_INITMENUPOPUP() |
ON_WM_INITMENUPOPUP() |
229 |
ON_WM_KEYDOWN() |
ON_WM_KEYDOWN() |
230 |
ON_WM_KEYUP() |
ON_WM_KEYUP() |
231 |
ON_WM_KILLFOCUS() |
ON_WM_KILLFOCUS() |
232 |
ON_WM_LBUTTONDOWN() |
ON_WM_LBUTTONDOWN() |
233 |
ON_WM_LBUTTONUP() |
ON_WM_LBUTTONUP() |
234 |
ON_WM_MBUTTONUP() |
ON_WM_MBUTTONUP() |
235 |
ON_WM_MOUSEACTIVATE() |
ON_WM_MOUSEACTIVATE() |
236 |
ON_WM_MOUSEMOVE() |
ON_WM_MOUSEMOVE() |
237 |
ON_WM_MOVE() |
ON_WM_MOVE() |
238 |
ON_WM_PAINT() |
ON_WM_PAINT() |
239 |
ON_WM_RBUTTONUP() |
ON_WM_RBUTTONUP() |
240 |
ON_WM_SETFOCUS() |
ON_WM_SETFOCUS() |
241 |
ON_WM_SIZE() |
ON_WM_SIZE() |
242 |
ON_WM_SYSCOMMAND() |
ON_WM_SYSCOMMAND() |
243 |
ON_WM_SYSKEYDOWN() |
ON_WM_SYSKEYDOWN() |
244 |
ON_WM_SYSKEYUP() |
ON_WM_SYSKEYUP() |
245 |
ON_WM_TIMER() |
ON_WM_TIMER() |
246 |
ON_MESSAGE(WM_USER_ACCELCOMMAND, OnAccelCommand) |
ON_MESSAGE(WM_USER_ACCELCOMMAND, OnAccelCommand) |
247 |
ON_MESSAGE(WM_USER_CHANGEMENU,OnChangeMenu) |
ON_MESSAGE(WM_USER_CHANGEMENU,OnChangeMenu) |
248 |
ON_MESSAGE(WM_USER_CHANGETBAR,OnChangeTBar) |
ON_MESSAGE(WM_USER_CHANGETBAR,OnChangeTBar) |
249 |
ON_MESSAGE(WM_USER_DLGHELP2,OnDlgHelp) |
ON_MESSAGE(WM_USER_DLGHELP2,OnDlgHelp) |
250 |
ON_MESSAGE(WM_USER_GETSERIALNO,OnGetSerialNo) |
ON_MESSAGE(WM_USER_GETSERIALNO,OnGetSerialNo) |
251 |
ON_COMMAND(ID_TEKFILE_PRINT, OnFilePrint) |
ON_COMMAND(ID_TEKFILE_PRINT, OnFilePrint) |
252 |
ON_COMMAND(ID_TEKFILE_EXIT, OnFileExit) |
ON_COMMAND(ID_TEKFILE_EXIT, OnFileExit) |
253 |
ON_COMMAND(ID_TEKEDIT_COPY, OnEditCopy) |
ON_COMMAND(ID_TEKEDIT_COPY, OnEditCopy) |
254 |
ON_COMMAND(ID_TEKEDIT_COPYSCREEN, OnEditCopyScreen) |
ON_COMMAND(ID_TEKEDIT_COPYSCREEN, OnEditCopyScreen) |
255 |
ON_COMMAND(ID_TEKEDIT_PASTE, OnEditPaste) |
ON_COMMAND(ID_TEKEDIT_PASTE, OnEditPaste) |
256 |
ON_COMMAND(ID_TEKEDIT_PASTECR, OnEditPasteCR) |
ON_COMMAND(ID_TEKEDIT_PASTECR, OnEditPasteCR) |
257 |
ON_COMMAND(ID_TEKEDIT_CLEARSCREEN, OnEditClearScreen) |
ON_COMMAND(ID_TEKEDIT_CLEARSCREEN, OnEditClearScreen) |
258 |
ON_COMMAND(ID_TEKSETUP_WINDOW, OnSetupWindow) |
ON_COMMAND(ID_TEKSETUP_WINDOW, OnSetupWindow) |
259 |
ON_COMMAND(ID_TEKSETUP_FONT, OnSetupFont) |
ON_COMMAND(ID_TEKSETUP_FONT, OnSetupFont) |
260 |
ON_COMMAND(ID_TEKVTWIN, OnVTWin) |
ON_COMMAND(ID_TEKVTWIN, OnVTWin) |
261 |
ON_COMMAND(ID_TEKWINDOW_WINDOW, OnWindowWindow) |
ON_COMMAND(ID_TEKWINDOW_WINDOW, OnWindowWindow) |
262 |
ON_COMMAND(ID_TEKHELP_INDEX, OnHelpIndex) |
ON_COMMAND(ID_TEKHELP_INDEX, OnHelpIndex) |
263 |
ON_COMMAND(ID_TEKHELP_ABOUT, OnHelpAbout) |
ON_COMMAND(ID_TEKHELP_ABOUT, OnHelpAbout) |
264 |
ON_WM_TIMER() |
ON_WM_TIMER() |
265 |
//}}AFX_MSG_MAP |
//}}AFX_MSG_MAP |
266 |
END_MESSAGE_MAP() |
END_MESSAGE_MAP() |
267 |
|
|
268 |
///////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////// |
269 |
// CTEKWindow message handler |
// CTEKWindow message handler |
270 |
|
|
271 |
LRESULT CTEKWindow::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) |
LRESULT CTEKWindow::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) |
272 |
{ |
{ |
273 |
LRESULT Result; |
LRESULT Result; |
274 |
|
|
275 |
if (message == MsgDlgHelp) |
if (message == MsgDlgHelp) |
276 |
{ |
{ |
277 |
OnDlgHelp(wParam,lParam); |
OnDlgHelp(wParam,lParam); |
278 |
return 0; |
return 0; |
279 |
} |
} |
280 |
else if ((ts.HideTitle>0) && |
else if ((ts.HideTitle>0) && |
281 |
(message == WM_NCHITTEST)) |
(message == WM_NCHITTEST)) |
282 |
{ |
{ |
283 |
Result = CFrameWnd::DefWindowProc(message,wParam,lParam); |
Result = CFrameWnd::DefWindowProc(message,wParam,lParam); |
284 |
if ((Result==HTCLIENT) && AltKey()) |
if ((Result==HTCLIENT) && AltKey()) |
285 |
Result = HTCAPTION; |
Result = HTCAPTION; |
286 |
return Result; |
return Result; |
287 |
} |
} |
288 |
|
|
289 |
return (CFrameWnd::DefWindowProc(message,wParam,lParam)); |
return (CFrameWnd::DefWindowProc(message,wParam,lParam)); |
290 |
} |
} |
291 |
|
|
292 |
BOOL CTEKWindow::OnCommand(WPARAM wParam, LPARAM lParam) |
BOOL CTEKWindow::OnCommand(WPARAM wParam, LPARAM lParam) |
293 |
{ |
{ |
294 |
if ((LOWORD(wParam)>=ID_WINDOW_1) && (LOWORD(wParam)<ID_WINDOW_1+9)) |
if ((LOWORD(wParam)>=ID_WINDOW_1) && (LOWORD(wParam)<ID_WINDOW_1+9)) |
295 |
{ |
{ |
296 |
SelectWin(LOWORD(wParam)-ID_WINDOW_1); |
SelectWin(LOWORD(wParam)-ID_WINDOW_1); |
297 |
return TRUE; |
return TRUE; |
298 |
} |
} |
299 |
else |
else |
300 |
return CFrameWnd::OnCommand(wParam, lParam); |
return CFrameWnd::OnCommand(wParam, lParam); |
301 |
} |
} |
302 |
|
|
303 |
void CTEKWindow::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) |
void CTEKWindow::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) |
304 |
{ |
{ |
305 |
if (nState!=WA_INACTIVE) |
if (nState!=WA_INACTIVE) |
306 |
{ |
{ |
307 |
tk.Active = TRUE; |
tk.Active = TRUE; |
308 |
ActiveWin = IdTEK; |
ActiveWin = IdTEK; |
309 |
} |
} |
310 |
else { |
else { |
311 |
tk.Active = FALSE; |
tk.Active = FALSE; |
312 |
} |
} |
313 |
} |
} |
314 |
|
|
315 |
void CTEKWindow::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) |
void CTEKWindow::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) |
316 |
{ |
{ |
317 |
unsigned int i; |
unsigned int i; |
318 |
char Code; |
char Code; |
319 |
|
|
320 |
if (!KeybEnabled || (TalkStatus!=IdTalkKeyb)) return; |
if (!KeybEnabled || (TalkStatus!=IdTalkKeyb)) return; |
321 |
Code = nChar; |
Code = nChar; |
322 |
|
|
323 |
if (tk.GIN) TEKReportGIN(&tk,&ts,&cv,Code); |
if (tk.GIN) TEKReportGIN(&tk,&ts,&cv,Code); |
324 |
else |
else |
325 |
for (i=1 ; i<=nRepCnt ; i++) |
for (i=1 ; i<=nRepCnt ; i++) |
326 |
{ |
{ |
327 |
CommTextOut(&cv,&Code,1); |
CommTextOut(&cv,&Code,1); |
328 |
if (ts.LocalEcho>0) |
if (ts.LocalEcho>0) |
329 |
CommTextEcho(&cv,&Code,1); |
CommTextEcho(&cv,&Code,1); |
330 |
} |
} |
331 |
} |
} |
332 |
|
|
333 |
void CTEKWindow::OnDestroy() |
void CTEKWindow::OnDestroy() |
334 |
{ |
{ |
335 |
// remove this window from the window list |
// remove this window from the window list |
336 |
UnregWin(HTEKWin); |
UnregWin(HTEKWin); |
337 |
|
|
338 |
CFrameWnd::OnDestroy(); |
CFrameWnd::OnDestroy(); |
339 |
|
|
340 |
TEKEnd(&tk); |
TEKEnd(&tk); |
341 |
FreeTTTEK(); |
FreeTTTEK(); |
342 |
HTEKWin = NULL; |
HTEKWin = NULL; |
343 |
pTEKWin = NULL; |
pTEKWin = NULL; |
344 |
ActiveWin = IdVT; |
ActiveWin = IdVT; |
345 |
} |
} |
346 |
|
|
347 |
void CTEKWindow::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) |
void CTEKWindow::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) |
348 |
{ |
{ |
349 |
lpMMI->ptMaxSize.x = 10000; |
lpMMI->ptMaxSize.x = 10000; |
350 |
lpMMI->ptMaxSize.y = 10000; |
lpMMI->ptMaxSize.y = 10000; |
351 |
lpMMI->ptMaxTrackSize.x = 10000; |
lpMMI->ptMaxTrackSize.x = 10000; |
352 |
lpMMI->ptMaxTrackSize.y = 10000; |
lpMMI->ptMaxTrackSize.y = 10000; |
353 |
} |
} |
354 |
|
|
355 |
void CTEKWindow::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) |
void CTEKWindow::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) |
356 |
{ |
{ |
357 |
InitMenuPopup(pPopupMenu->m_hMenu); |
InitMenuPopup(pPopupMenu->m_hMenu); |
358 |
} |
} |
359 |
|
|
360 |
void CTEKWindow::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) |
void CTEKWindow::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) |
361 |
{ |
{ |
362 |
KeyDown(HTEKWin,nChar,nRepCnt,nFlags & 0x1ff); |
KeyDown(HTEKWin,nChar,nRepCnt,nFlags & 0x1ff); |
363 |
} |
} |
364 |
|
|
365 |
void CTEKWindow::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) |
void CTEKWindow::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) |
366 |
{ |
{ |
367 |
KeyUp(nChar); |
KeyUp(nChar); |
368 |
} |
} |
369 |
|
|
370 |
void CTEKWindow::OnKillFocus(CWnd* pNewWnd) |
void CTEKWindow::OnKillFocus(CWnd* pNewWnd) |
371 |
{ |
{ |
372 |
TEKDestroyCaret(&tk,&ts); |
TEKDestroyCaret(&tk,&ts); |
373 |
CFrameWnd::OnKillFocus(pNewWnd); |
CFrameWnd::OnKillFocus(pNewWnd); |
374 |
} |
} |
375 |
|
|
376 |
void CTEKWindow::OnLButtonDown(UINT nFlags, CPoint point) |
void CTEKWindow::OnLButtonDown(UINT nFlags, CPoint point) |
377 |
{ |
{ |
378 |
POINT p; |
POINT p; |
379 |
HMENU PopupMenu, PopupBase; |
HMENU PopupMenu, PopupBase; |
380 |
|
|
381 |
p.x = point.x; |
p.x = point.x; |
382 |
p.y = point.y; |
p.y = point.y; |
383 |
|
|
384 |
// popup menu |
// popup menu |
385 |
if (ControlKey() && (MainMenu==NULL)) |
if (ControlKey() && (MainMenu==NULL)) |
386 |
{ |
{ |
387 |
InitMenu(&PopupMenu); |
InitMenu(&PopupMenu); |
388 |
InitMenuPopup(EditMenu); |
InitMenuPopup(EditMenu); |
389 |
if (WinMenu!=NULL) |
if (WinMenu!=NULL) |
390 |
InitMenuPopup(WinMenu); |
InitMenuPopup(WinMenu); |
391 |
PopupBase = CreatePopupMenu(); |
PopupBase = CreatePopupMenu(); |
392 |
get_lang_msg("MENU_CONTROL", ts.UIMsg, sizeof(ts.UIMsg), "&File", ts.UILanguageFile); |
get_lang_msg("MENU_CONTROL", ts.UIMsg, sizeof(ts.UIMsg), "&File", ts.UILanguageFile); |
393 |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
394 |
(UINT)GetSubMenu(PopupMenu,0), ts.UIMsg); |
(UINT)GetSubMenu(PopupMenu,0), ts.UIMsg); |
395 |
get_lang_msg("TEKMENU_EDIT", ts.UIMsg, sizeof(ts.UIMsg), "&Edit", ts.UILanguageFile); |
get_lang_msg("TEKMENU_EDIT", ts.UIMsg, sizeof(ts.UIMsg), "&Edit", ts.UILanguageFile); |
396 |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
397 |
(UINT)EditMenu, ts.UIMsg); |
(UINT)EditMenu, ts.UIMsg); |
398 |
get_lang_msg("TEKMENU_SETUP", ts.UIMsg, sizeof(ts.UIMsg), "&Setup", ts.UILanguageFile); |
get_lang_msg("TEKMENU_SETUP", ts.UIMsg, sizeof(ts.UIMsg), "&Setup", ts.UILanguageFile); |
399 |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
400 |
(UINT)GetSubMenu(PopupMenu,2), ts.UIMsg); |
(UINT)GetSubMenu(PopupMenu,2), ts.UIMsg); |
401 |
get_lang_msg("TEKMENU_VTWIN", ts.UIMsg, sizeof(ts.UIMsg), "VT-Wind&ow", ts.UILanguageFile); |
get_lang_msg("TEKMENU_VTWIN", ts.UIMsg, sizeof(ts.UIMsg), "VT-Wind&ow", ts.UILanguageFile); |
402 |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED, |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED, |
403 |
ID_TEKVTWIN, ts.UIMsg); |
ID_TEKVTWIN, ts.UIMsg); |
404 |
if (WinMenu!=NULL) { |
if (WinMenu!=NULL) { |
405 |
get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile); |
get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile); |
406 |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
407 |
(UINT)WinMenu, ts.UIMsg); |
(UINT)WinMenu, ts.UIMsg); |
408 |
} |
} |
409 |
get_lang_msg("TEKMENU_HELP", ts.UIMsg, sizeof(ts.UIMsg), "&Help", ts.UILanguageFile); |
get_lang_msg("TEKMENU_HELP", ts.UIMsg, sizeof(ts.UIMsg), "&Help", ts.UILanguageFile); |
410 |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
AppendMenu(PopupBase, MF_STRING | MF_ENABLED | MF_POPUP, |
411 |
(UINT)GetSubMenu(PopupMenu,4), ts.UIMsg); |
(UINT)GetSubMenu(PopupMenu,4), ts.UIMsg); |
412 |
::ClientToScreen(tk.HWin, &p); |
::ClientToScreen(tk.HWin, &p); |
413 |
TrackPopupMenu(PopupBase,TPM_LEFTALIGN | TPM_LEFTBUTTON, |
TrackPopupMenu(PopupBase,TPM_LEFTALIGN | TPM_LEFTBUTTON, |
414 |
p.x,p.y,0,tk.HWin,NULL); |
p.x,p.y,0,tk.HWin,NULL); |
415 |
if (WinMenu!=NULL) |
if (WinMenu!=NULL) |
416 |
{ |
{ |
417 |
DestroyMenu(WinMenu); |
DestroyMenu(WinMenu); |
418 |
WinMenu = NULL; |
WinMenu = NULL; |
419 |
} |
} |
420 |
DestroyMenu(PopupBase); |
DestroyMenu(PopupBase); |
421 |
DestroyMenu(PopupMenu); |
DestroyMenu(PopupMenu); |
422 |
return; |
return; |
423 |
} |
} |
424 |
|
|
425 |
TEKWMLButtonDown(&tk,&ts,&cv,p); |
TEKWMLButtonDown(&tk,&ts,&cv,p); |
426 |
} |
} |
427 |
|
|
428 |
void CTEKWindow::OnLButtonUp(UINT nFlags, CPoint point) |
void CTEKWindow::OnLButtonUp(UINT nFlags, CPoint point) |
429 |
{ |
{ |
430 |
TEKWMLButtonUp(&tk,&ts); |
TEKWMLButtonUp(&tk,&ts); |
431 |
} |
} |
432 |
|
|
433 |
void CTEKWindow::OnMButtonUp(UINT nFlags, CPoint point) |
void CTEKWindow::OnMButtonUp(UINT nFlags, CPoint point) |
434 |
{ |
{ |
435 |
//OnRButtonUp(nFlags,point); |
//OnRButtonUp(nFlags,point); |
436 |
} |
} |
437 |
|
|
438 |
int CTEKWindow::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message) |
int CTEKWindow::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message) |
439 |
{ |
{ |
440 |
if ((ts.SelOnActive==0) && |
if ((ts.SelOnActive==0) && |
441 |
(nHitTest==HTCLIENT)) //disable mouse event for text selection |
(nHitTest==HTCLIENT)) //disable mouse event for text selection |
442 |
return MA_ACTIVATEANDEAT; // when window is activated |
return MA_ACTIVATEANDEAT; // when window is activated |
443 |
else |
else |
444 |
return MA_ACTIVATE; |
return MA_ACTIVATE; |
445 |
} |
} |
446 |
|
|
447 |
void CTEKWindow::OnMouseMove(UINT nFlags, CPoint point) |
void CTEKWindow::OnMouseMove(UINT nFlags, CPoint point) |
448 |
{ |
{ |
449 |
POINT p; |
POINT p; |
450 |
|
|
451 |
p.x = point.x; |
p.x = point.x; |
452 |
p.y = point.y; |
p.y = point.y; |
453 |
TEKWMMouseMove(&tk,&ts,p); |
TEKWMMouseMove(&tk,&ts,p); |
454 |
} |
} |
455 |
|
|
456 |
void CTEKWindow::OnMove(int x, int y) |
void CTEKWindow::OnMove(int x, int y) |
457 |
{ |
{ |
458 |
RECT R; |
RECT R; |
459 |
|
|
460 |
::GetWindowRect(HTEKWin,&R); |
::GetWindowRect(HTEKWin,&R); |
461 |
ts.TEKPos.x = R.left; |
ts.TEKPos.x = R.left; |
462 |
ts.TEKPos.y = R.top; |
ts.TEKPos.y = R.top; |
463 |
} |
} |
464 |
|
|
465 |
void CTEKWindow::OnPaint() |
void CTEKWindow::OnPaint() |
466 |
{ |
{ |
467 |
PAINTSTRUCT ps; |
PAINTSTRUCT ps; |
468 |
CDC *cdc; |
CDC *cdc; |
469 |
HDC PaintDC; |
HDC PaintDC; |
470 |
|
|
471 |
cdc = BeginPaint(&ps); |
cdc = BeginPaint(&ps); |
472 |
PaintDC = cdc->GetSafeHdc(); |
PaintDC = cdc->GetSafeHdc(); |
473 |
|
|
474 |
TEKPaint(&tk,&ts,PaintDC,&ps); |
TEKPaint(&tk,&ts,PaintDC,&ps); |
475 |
|
|
476 |
EndPaint(&ps); |
EndPaint(&ps); |
477 |
} |
} |
478 |
|
|
479 |
void CTEKWindow::OnRButtonUp(UINT nFlags, CPoint point) |
void CTEKWindow::OnRButtonUp(UINT nFlags, CPoint point) |
480 |
{ |
{ |
481 |
CBStartPaste(tk.HWin,FALSE,0,NULL,0); |
CBStartPaste(tk.HWin,FALSE,0,NULL,0); |
482 |
} |
} |
483 |
|
|
484 |
void CTEKWindow::OnSetFocus(CWnd* pOldWnd) |
void CTEKWindow::OnSetFocus(CWnd* pOldWnd) |
485 |
{ |
{ |
486 |
TEKChangeCaret(&tk,&ts); |
TEKChangeCaret(&tk,&ts); |
487 |
CFrameWnd::OnSetFocus(pOldWnd); |
CFrameWnd::OnSetFocus(pOldWnd); |
488 |
} |
} |
489 |
|
|
490 |
void CTEKWindow::OnSize(UINT nType, int cx, int cy) |
void CTEKWindow::OnSize(UINT nType, int cx, int cy) |
491 |
{ |
{ |
492 |
int w, h; |
int w, h; |
493 |
RECT R; |
RECT R; |
494 |
|
|
495 |
if (tk.Minimized && (nType==SIZE_RESTORED)) |
if (tk.Minimized && (nType==SIZE_RESTORED)) |
496 |
{ |
{ |
497 |
tk.Minimized = FALSE; |
tk.Minimized = FALSE; |
498 |
return; |
return; |
499 |
} |
} |
500 |
tk.Minimized = (nType==SIZE_MINIMIZED); |
tk.Minimized = (nType==SIZE_MINIMIZED); |
501 |
if (tk.Minimized) return; |
if (tk.Minimized) return; |
502 |
|
|
503 |
::GetWindowRect(tk.HWin,&R); |
::GetWindowRect(tk.HWin,&R); |
504 |
w = R.right - R.left; |
w = R.right - R.left; |
505 |
h = R.bottom - R.top; |
h = R.bottom - R.top; |
506 |
|
|
507 |
TEKWMSize(&tk,&ts,w,h,cx,cy); |
TEKWMSize(&tk,&ts,w,h,cx,cy); |
508 |
} |
} |
509 |
|
|
510 |
void CTEKWindow::OnSysCommand(UINT nID, LPARAM lParam) |
void CTEKWindow::OnSysCommand(UINT nID, LPARAM lParam) |
511 |
{ |
{ |
512 |
if (nID==ID_SHOWMENUBAR) |
if (nID==ID_SHOWMENUBAR) |
513 |
{ |
{ |
514 |
ts.PopupMenu = 0; |
ts.PopupMenu = 0; |
515 |
SwitchMenu(); |
SwitchMenu(); |
516 |
} |
} |
517 |
else CFrameWnd::OnSysCommand(nID,lParam); |
else CFrameWnd::OnSysCommand(nID,lParam); |
518 |
} |
} |
519 |
|
|
520 |
void CTEKWindow::OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) |
void CTEKWindow::OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) |
521 |
{ |
{ |
522 |
if (nChar==VK_F10) |
if (nChar==VK_F10) |
523 |
OnKeyDown(nChar,nRepCnt,nFlags); |
OnKeyDown(nChar,nRepCnt,nFlags); |
524 |
else |
else |
525 |
CFrameWnd::OnSysKeyDown(nChar,nRepCnt,nFlags); |
CFrameWnd::OnSysKeyDown(nChar,nRepCnt,nFlags); |
526 |
} |
} |
527 |
|
|
528 |
void CTEKWindow::OnSysKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) |
void CTEKWindow::OnSysKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) |
529 |
{ |
{ |
530 |
if (nChar==VK_F10) |
if (nChar==VK_F10) |
531 |
OnKeyUp(nChar,nRepCnt,nFlags); |
OnKeyUp(nChar,nRepCnt,nFlags); |
532 |
else |
else |
533 |
CFrameWnd::OnSysKeyUp(nChar,nRepCnt,nFlags); |
CFrameWnd::OnSysKeyUp(nChar,nRepCnt,nFlags); |
534 |
} |
} |
535 |
|
|
536 |
void CTEKWindow::OnTimer(UINT nIDEvent) |
void CTEKWindow::OnTimer(UINT nIDEvent) |
537 |
{ |
{ |
538 |
UINT T; |
UINT T; |
539 |
|
|
540 |
if (nIDEvent==IdCaretTimer) |
if (nIDEvent==IdCaretTimer) |
541 |
{ |
{ |
542 |
if (ts.NonblinkingCursor!=0) |
if (ts.NonblinkingCursor!=0) |
543 |
{ |
{ |
544 |
T = GetCaretBlinkTime(); |
T = GetCaretBlinkTime(); |
545 |
SetCaretBlinkTime(T); |
SetCaretBlinkTime(T); |
546 |
} |
} |
547 |
else |
else |
548 |
::KillTimer(HTEKWin,IdCaretTimer); |
::KillTimer(HTEKWin,IdCaretTimer); |
549 |
return; |
return; |
550 |
} |
} |
551 |
else |
else |
552 |
::KillTimer(HTEKWin,nIDEvent); |
::KillTimer(HTEKWin,nIDEvent); |
553 |
} |
} |
554 |
|
|
555 |
LONG CTEKWindow::OnAccelCommand(UINT wParam, LONG lParam) |
LONG CTEKWindow::OnAccelCommand(UINT wParam, LONG lParam) |
556 |
{ |
{ |
557 |
switch (wParam) { |
switch (wParam) { |
558 |
case IdPrint: |
case IdPrint: |
559 |
OnFilePrint(); |
OnFilePrint(); |
560 |
break; |
break; |
561 |
case IdCmdEditCopy: |
case IdCmdEditCopy: |
562 |
OnEditCopy(); |
OnEditCopy(); |
563 |
break; |
break; |
564 |
case IdCmdEditPaste: |
case IdCmdEditPaste: |
565 |
OnEditPaste(); |
OnEditPaste(); |
566 |
break; |
break; |
567 |
case IdCmdEditPasteCR: |
case IdCmdEditPasteCR: |
568 |
OnEditPasteCR(); |
OnEditPasteCR(); |
569 |
break; |
break; |
570 |
case IdCmdEditCLS: |
case IdCmdEditCLS: |
571 |
OnEditClearScreen(); |
OnEditClearScreen(); |
572 |
break; |
break; |
573 |
case IdCmdCtrlCloseTEK: |
case IdCmdCtrlCloseTEK: |
574 |
OnFileExit(); |
OnFileExit(); |
575 |
break; |
break; |
576 |
case IdCmdNextWin: |
case IdCmdNextWin: |
577 |
SelectNextWin(HTEKWin,1); |
SelectNextWin(HTEKWin,1); |
578 |
break; |
break; |
579 |
case IdCmdPrevWin: |
case IdCmdPrevWin: |
580 |
SelectNextWin(HTEKWin,-1); |
SelectNextWin(HTEKWin,-1); |
581 |
break; |
break; |
582 |
case IdBreak: |
case IdBreak: |
583 |
case IdCmdRestoreSetup: |
case IdCmdRestoreSetup: |
584 |
case IdCmdLoadKeyMap: |
case IdCmdLoadKeyMap: |
585 |
::PostMessage(HVTWin,WM_USER_ACCELCOMMAND,wParam,0); |
::PostMessage(HVTWin,WM_USER_ACCELCOMMAND,wParam,0); |
586 |
break; |
break; |
587 |
} |
} |
588 |
return 0; |
return 0; |
589 |
} |
} |
590 |
|
|
591 |
LONG CTEKWindow::OnChangeMenu(UINT wParam, LONG lParam) |
LONG CTEKWindow::OnChangeMenu(UINT wParam, LONG lParam) |
592 |
{ |
{ |
593 |
HMENU SysMenu; |
HMENU SysMenu; |
594 |
BOOL Show, B1, B2; |
BOOL Show, B1, B2; |
595 |
|
|
596 |
Show = (ts.PopupMenu==0) && (ts.HideTitle==0); |
Show = (ts.PopupMenu==0) && (ts.HideTitle==0); |
597 |
if (Show != (MainMenu!=NULL)) |
if (Show != (MainMenu!=NULL)) |
598 |
{ |
{ |
599 |
if (! Show) |
if (! Show) |
600 |
{ |
{ |
601 |
if (WinMenu!=NULL) |
if (WinMenu!=NULL) |
602 |
DestroyMenu(WinMenu); |
DestroyMenu(WinMenu); |
603 |
WinMenu = NULL; |
WinMenu = NULL; |
604 |
DestroyMenu(MainMenu); |
DestroyMenu(MainMenu); |
605 |
MainMenu = NULL; |
MainMenu = NULL; |
606 |
} |
} |
607 |
else |
else |
608 |
InitMenu(&MainMenu); |
InitMenu(&MainMenu); |
609 |
|
|
610 |
tk.AdjustSize = TRUE; |
tk.AdjustSize = TRUE; |
611 |
::SetMenu(tk.HWin, MainMenu); |
::SetMenu(tk.HWin, MainMenu); |
612 |
::DrawMenuBar(HTEKWin); |
::DrawMenuBar(HTEKWin); |
613 |
} |
} |
614 |
|
|
615 |
B1 = ((ts.MenuFlag & MF_SHOWWINMENU)!=0); |
B1 = ((ts.MenuFlag & MF_SHOWWINMENU)!=0); |
616 |
B2 = (WinMenu!=NULL); |
B2 = (WinMenu!=NULL); |
617 |
if ((MainMenu!=NULL) && |
if ((MainMenu!=NULL) && |
618 |
(B1 != B2)) |
(B1 != B2)) |
619 |
{ |
{ |
620 |
if (WinMenu==NULL) |
if (WinMenu==NULL) |
621 |
{ |
{ |
622 |
WinMenu = CreatePopupMenu(); |
WinMenu = CreatePopupMenu(); |
623 |
get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile); |
get_lang_msg("TEKMENU_WINDOW", ts.UIMsg, sizeof(ts.UIMsg), "&Window", ts.UILanguageFile); |
624 |
::InsertMenu(MainMenu,4, |
::InsertMenu(MainMenu,4, |
625 |
MF_STRING | MF_ENABLED | |
MF_STRING | MF_ENABLED | |
626 |
MF_POPUP | MF_BYPOSITION, |
MF_POPUP | MF_BYPOSITION, |
627 |
(int)WinMenu, ts.UIMsg); |
(int)WinMenu, ts.UIMsg); |
628 |
} |
} |
629 |
else { |
else { |
630 |
RemoveMenu(MainMenu,4,MF_BYPOSITION); |
RemoveMenu(MainMenu,4,MF_BYPOSITION); |
631 |
DestroyMenu(WinMenu); |
DestroyMenu(WinMenu); |
632 |
WinMenu = NULL; |
WinMenu = NULL; |
633 |
} |
} |
634 |
::DrawMenuBar(HTEKWin); |
::DrawMenuBar(HTEKWin); |
635 |
} |
} |
636 |
|
|
637 |
::GetSystemMenu(tk.HWin,TRUE); |
::GetSystemMenu(tk.HWin,TRUE); |
638 |
if ((! Show) && ((ts.MenuFlag & MF_NOSHOWMENU)==0)) |
if ((! Show) && ((ts.MenuFlag & MF_NOSHOWMENU)==0)) |
639 |
{ |
{ |
640 |
SysMenu = ::GetSystemMenu(tk.HWin,FALSE); |
SysMenu = ::GetSystemMenu(tk.HWin,FALSE); |
641 |
AppendMenu(SysMenu, MF_SEPARATOR, 0, NULL); |
AppendMenu(SysMenu, MF_SEPARATOR, 0, NULL); |
642 |
get_lang_msg("TEKMENU_SHOW_MENUBAR", ts.UIMsg, sizeof(ts.UIMsg), "Show menu &bar", ts.UILanguageFile); |
get_lang_msg("TEKMENU_SHOW_MENUBAR", ts.UIMsg, sizeof(ts.UIMsg), "Show menu &bar", ts.UILanguageFile); |
643 |
AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, ts.UIMsg); |
AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, ts.UIMsg); |
644 |
} |
} |
645 |
return 0; |
return 0; |
646 |
} |
} |
647 |
|
|
648 |
LONG CTEKWindow::OnChangeTBar(UINT wParam, LONG lParam) |
LONG CTEKWindow::OnChangeTBar(UINT wParam, LONG lParam) |
649 |
{ |
{ |
650 |
BOOL TBar; |
BOOL TBar; |
651 |
DWORD Style; |
DWORD Style; |
652 |
HMENU SysMenu; |
HMENU SysMenu; |
653 |
|
|
654 |
Style = GetWindowLong (HTEKWin, GWL_STYLE); |
Style = GetWindowLong (HTEKWin, GWL_STYLE); |
655 |
TBar = ((Style & WS_SYSMENU)!=0); |
TBar = ((Style & WS_SYSMENU)!=0); |
656 |
if (TBar == (ts.HideTitle==0)) return 0; |
if (TBar == (ts.HideTitle==0)) return 0; |
657 |
if (ts.HideTitle>0) |
if (ts.HideTitle>0) |
658 |
Style = Style & ~(WS_SYSMENU | WS_CAPTION | |
Style = Style & ~(WS_SYSMENU | WS_CAPTION | |
659 |
WS_MINIMIZEBOX) | WS_BORDER | WS_POPUP; |
WS_MINIMIZEBOX) | WS_BORDER | WS_POPUP; |
660 |
else |
else |
661 |
Style = Style & ~WS_POPUP | WS_SYSMENU | WS_CAPTION | |
Style = Style & ~WS_POPUP | WS_SYSMENU | WS_CAPTION | |
662 |
WS_MINIMIZEBOX; |
WS_MINIMIZEBOX; |
663 |
tk.AdjustSize = TRUE; |
tk.AdjustSize = TRUE; |
664 |
SetWindowLong (HTEKWin, GWL_STYLE, Style); |
SetWindowLong (HTEKWin, GWL_STYLE, Style); |
665 |
::SetWindowPos (HTEKWin, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | |
::SetWindowPos (HTEKWin, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | |
666 |
SWP_NOZORDER | SWP_FRAMECHANGED); |
SWP_NOZORDER | SWP_FRAMECHANGED); |
667 |
::ShowWindow (HTEKWin, SW_SHOW); |
::ShowWindow (HTEKWin, SW_SHOW); |
668 |
|
|
669 |
if ((ts.HideTitle==0) && (MainMenu==NULL) && |
if ((ts.HideTitle==0) && (MainMenu==NULL) && |
670 |
((ts.MenuFlag & MF_NOSHOWMENU) == 0)) |
((ts.MenuFlag & MF_NOSHOWMENU) == 0)) |
671 |
{ |
{ |
672 |
SysMenu = ::GetSystemMenu(HTEKWin,FALSE); |
SysMenu = ::GetSystemMenu(HTEKWin,FALSE); |
673 |
AppendMenu(SysMenu, MF_SEPARATOR, 0, NULL); |
AppendMenu(SysMenu, MF_SEPARATOR, 0, NULL); |
674 |
get_lang_msg("TEKMENU_SHOW_MENUBAR", ts.UIMsg, sizeof(ts.UIMsg), "Show menu &bar", ts.UILanguageFile); |
get_lang_msg("TEKMENU_SHOW_MENUBAR", ts.UIMsg, sizeof(ts.UIMsg), "Show menu &bar", ts.UILanguageFile); |
675 |
AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, ts.UIMsg); |
AppendMenu(SysMenu, MF_STRING, ID_SHOWMENUBAR, ts.UIMsg); |
676 |
} |
} |
677 |
return 0; |
return 0; |
678 |
} |
} |
679 |
|
|
680 |
LONG CTEKWindow::OnDlgHelp(UINT wParam, LONG lParam) |
LONG CTEKWindow::OnDlgHelp(UINT wParam, LONG lParam) |
681 |
{ |
{ |
682 |
OpenHelp(tk.HWin,HH_HELP_CONTEXT,HelpId); |
OpenHelp(tk.HWin,HH_HELP_CONTEXT,HelpId); |
683 |
return 0; |
return 0; |
684 |
} |
} |
685 |
|
|
686 |
LONG CTEKWindow::OnGetSerialNo(UINT wParam, LONG lParam) |
LONG CTEKWindow::OnGetSerialNo(UINT wParam, LONG lParam) |
687 |
{ |
{ |
688 |
return (LONG)SerialNo; |
return (LONG)SerialNo; |
689 |
} |
} |
690 |
|
|
691 |
void CTEKWindow::OnFilePrint() |
void CTEKWindow::OnFilePrint() |
692 |
{ |
{ |
693 |
BOOL Sel; |
BOOL Sel; |
694 |
HDC PrintDC; |
HDC PrintDC; |
695 |
|
|
696 |
HelpId = HlpTEKFilePrint; |
HelpId = HlpTEKFilePrint; |
697 |
|
|
698 |
Sel = tk.Select; |
Sel = tk.Select; |
699 |
PrintDC = PrnBox(tk.HWin,&Sel); |
PrintDC = PrnBox(tk.HWin,&Sel); |
700 |
if (PrintDC==NULL) return; |
if (PrintDC==NULL) return; |
701 |
if (! PrnStart(ts.Title)) return; |
if (! PrnStart(ts.Title)) return; |
702 |
|
|
703 |
(*TEKPrint)(&tk,&ts,PrintDC,Sel); |
(*TEKPrint)(&tk,&ts,PrintDC,Sel); |
704 |
|
|
705 |
PrnStop(); |
PrnStop(); |
706 |
} |
} |
707 |
|
|
708 |
void CTEKWindow::OnFileExit() |
void CTEKWindow::OnFileExit() |
709 |
{ |
{ |
710 |
DestroyWindow(); |
DestroyWindow(); |
711 |
} |
} |
712 |
|
|
713 |
void CTEKWindow::OnEditCopy() |
void CTEKWindow::OnEditCopy() |
714 |
{ |
{ |
715 |
(*TEKCMCopy)(&tk,&ts); |
(*TEKCMCopy)(&tk,&ts); |
716 |
} |
} |
717 |
|
|
718 |
void CTEKWindow::OnEditCopyScreen() |
void CTEKWindow::OnEditCopyScreen() |
719 |
{ |
{ |
720 |
(*TEKCMCopyScreen)(&tk,&ts); |
(*TEKCMCopyScreen)(&tk,&ts); |
721 |
} |
} |
722 |
|
|
723 |
void CTEKWindow::OnEditPaste() |
void CTEKWindow::OnEditPaste() |
724 |
{ |
{ |
725 |
CBStartPaste(tk.HWin,FALSE,0,NULL,0); |
CBStartPaste(tk.HWin,FALSE,0,NULL,0); |
726 |
} |
} |
727 |
|
|
728 |
void CTEKWindow::OnEditPasteCR() |
void CTEKWindow::OnEditPasteCR() |
729 |
{ |
{ |
730 |
CBStartPaste(tk.HWin,TRUE,0,NULL,0); |
CBStartPaste(tk.HWin,TRUE,0,NULL,0); |
731 |
} |
} |
732 |
|
|
733 |
void CTEKWindow::OnEditClearScreen() |
void CTEKWindow::OnEditClearScreen() |
734 |
{ |
{ |
735 |
(*TEKClearScreen)(&tk,&ts); |
(*TEKClearScreen)(&tk,&ts); |
736 |
} |
} |
737 |
|
|
738 |
void CTEKWindow::OnSetupWindow() |
void CTEKWindow::OnSetupWindow() |
739 |
{ |
{ |
740 |
BOOL Ok; |
BOOL Ok; |
741 |
WORD OldEmu; |
WORD OldEmu; |
742 |
|
|
743 |
HelpId = HlpTEKSetupWindow; |
HelpId = HlpTEKSetupWindow; |
744 |
ts.VTFlag = 0; |
ts.VTFlag = 0; |
745 |
ts.SampleFont = tk.TEKFont[0]; |
ts.SampleFont = tk.TEKFont[0]; |
746 |
|
|
747 |
if (! LoadTTDLG()) return; |
if (! LoadTTDLG()) return; |
748 |
OldEmu = ts.TEKColorEmu; |
OldEmu = ts.TEKColorEmu; |
749 |
Ok = (*SetupWin)(HTEKWin, &ts); |
Ok = (*SetupWin)(HTEKWin, &ts); |
750 |
FreeTTDLG(); |
FreeTTDLG(); |
751 |
if (Ok) |
if (Ok) |
752 |
{ |
{ |
753 |
(*TEKResetWin)(&tk,&ts,OldEmu); |
(*TEKResetWin)(&tk,&ts,OldEmu); |
754 |
ChangeTitle(); |
ChangeTitle(); |
755 |
SwitchMenu(); |
SwitchMenu(); |
756 |
SwitchTitleBar(); |
SwitchTitleBar(); |
757 |
} |
} |
758 |
} |
} |
759 |
|
|
760 |
void CTEKWindow::OnSetupFont() |
void CTEKWindow::OnSetupFont() |
761 |
{ |
{ |
762 |
BOOL Ok; |
BOOL Ok; |
763 |
|
|
764 |
HelpId = HlpTEKSetupFont; |
HelpId = HlpTEKSetupFont; |
765 |
ts.VTFlag = 0; |
ts.VTFlag = 0; |
766 |
if (! LoadTTDLG()) return; |
if (! LoadTTDLG()) return; |
767 |
Ok = (*ChooseFontDlg)(HTEKWin,&tk.TEKlf,&ts); |
Ok = (*ChooseFontDlg)(HTEKWin,&tk.TEKlf,&ts); |
768 |
FreeTTDLG(); |
FreeTTDLG(); |
769 |
if (! Ok) return; |
if (! Ok) return; |
770 |
|
|
771 |
(*TEKSetupFont)(&tk,&ts); |
(*TEKSetupFont)(&tk,&ts); |
772 |
} |
} |
773 |
|
|
774 |
void CTEKWindow::OnVTWin() |
void CTEKWindow::OnVTWin() |
775 |
{ |
{ |
776 |
VTActivate(); |
VTActivate(); |
777 |
} |
} |
778 |
|
|
779 |
void CTEKWindow::OnWindowWindow() |
void CTEKWindow::OnWindowWindow() |
780 |
{ |
{ |
781 |
BOOL Close; |
BOOL Close; |
782 |
|
|
783 |
HelpId = HlpWindowWindow; |
HelpId = HlpWindowWindow; |
784 |
if (! LoadTTDLG()) return; |
if (! LoadTTDLG()) return; |
785 |
(*WindowWindow)(HTEKWin,&Close); |
(*WindowWindow)(HTEKWin,&Close); |
786 |
FreeTTDLG(); |
FreeTTDLG(); |
787 |
if (Close) OnClose(); |
if (Close) OnClose(); |
788 |
} |
} |
789 |
|
|
790 |
void CTEKWindow::OnHelpIndex() |
void CTEKWindow::OnHelpIndex() |
791 |
{ |
{ |
792 |
OpenHelp(tk.HWin,HH_DISPLAY_TOPIC,0); |
OpenHelp(tk.HWin,HH_DISPLAY_TOPIC,0); |
793 |
} |
} |
794 |
|
|
795 |
void CTEKWindow::OnHelpAbout() |
void CTEKWindow::OnHelpAbout() |
796 |
{ |
{ |
797 |
if (! LoadTTDLG()) return; |
if (! LoadTTDLG()) return; |
798 |
(*AboutDialog)(tk.HWin); |
(*AboutDialog)(tk.HWin); |
799 |
FreeTTDLG(); |
FreeTTDLG(); |
800 |
} |
} |