version 1.8, 2002/09/12 03:12:56 |
version 1.10, 2005/05/10 09:52:12 |
Line 69 BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView) |
|
Line 69 BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView) |
|
ON_WM_CREATE() |
ON_WM_CREATE() |
ON_COMMAND(ID_CONTRIBHELP, OnContribhelp) |
ON_COMMAND(ID_CONTRIBHELP, OnContribhelp) |
ON_UPDATE_COMMAND_UI(ID_CONTRIBHELP, OnUpdateContribhelp) |
ON_UPDATE_COMMAND_UI(ID_CONTRIBHELP, OnUpdateContribhelp) |
|
ON_WM_SIZE() |
//}}AFX_MSG_MAP |
//}}AFX_MSG_MAP |
// 標準印刷コマンド |
// 標準印刷コマンド |
// ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint) |
// ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint) |
Line 89 CAsir32guiView::CAsir32guiView() |
|
Line 90 CAsir32guiView::CAsir32guiView() |
|
read_input_history(); |
read_input_history(); |
DebugMode = 0; |
DebugMode = 0; |
DebugInMain = 0; |
DebugInMain = 0; |
MaxLineLength = 80; |
// MaxLineLength = 80; |
LogStart = 0; |
LogStart = 0; |
Logging = 0; |
Logging = 0; |
Logfp = NULL; |
Logfp = NULL; |
Line 305 void CAsir32guiView::Paste(void) { |
|
Line 306 void CAsir32guiView::Paste(void) { |
|
} |
} |
hClip = GetClipboardData(CF_TEXT); |
hClip = GetClipboardData(CF_TEXT); |
src = (const char *)::GlobalLock(hClip); |
src = (const char *)::GlobalLock(hClip); |
if ( !src || (l = strlen(src)) >= sizeof(Buffer) ) { |
if ( !src || (l=strlen(src)) >= sizeof(Buffer)-EndPos ) { |
::CloseClipboard(); |
::CloseClipboard(); |
Beep(); return; |
Beep(); return; |
} |
} |
Line 315 void CAsir32guiView::Paste(void) { |
|
Line 316 void CAsir32guiView::Paste(void) { |
|
buf[j] = 0; |
buf[j] = 0; |
::GlobalUnlock(hClip); |
::GlobalUnlock(hClip); |
::CloseClipboard(); |
::CloseClipboard(); |
if ( EndPos+j >= sizeof(Buffer)-1 ) { |
|
Beep(); return; |
|
} |
|
GetEditCtrl().ReplaceSel(buf); |
GetEditCtrl().ReplaceSel(buf); |
strncpy(Buffer+EndPos,buf,j); |
l = strlen(buf); |
EndPos += j; CurrentPos = EndPos; |
for ( i = EndPos-1; i >= CurrentPos; i-- ) |
|
Buffer[i+l] = Buffer[i]; |
|
for ( j = 0, i = CurrentPos; j < l; j++, i++ ) |
|
Buffer[i] = buf[j]; |
|
EndPos += l; CurrentPos += l; |
} |
} |
|
|
#define CTRL(c) (c)&0x1f |
#define CTRL(c) (c)&0x1f |
Line 524 void CAsir32guiView::OnEditPaste() |
|
Line 526 void CAsir32guiView::OnEditPaste() |
|
Paste(); |
Paste(); |
} |
} |
|
|
|
void CAsir32guiView::UpdateMetrics() |
|
{ |
|
TEXTMETRIC tm; |
|
RECT r; |
|
|
|
GetEditCtrl().GetRect(&r); |
|
CDC *pDC = GetDC(); |
|
pDC->SelectObject(GetFont()); |
|
pDC->GetTextMetrics(&tm); |
|
MaxLineLength = (r.right-r.left)/tm.tmAveCharWidth-1; |
|
} |
|
|
void CAsir32guiView::OnFont() |
void CAsir32guiView::OnFont() |
{ |
{ |
// TODO: この位置にコマンド ハンドラ用のコードを追加してください |
// TODO: この位置にコマンド ハンドラ用のコードを追加してください |
int ret; |
int ret; |
CFontDialog fd(NULL,CF_EFFECTS | CF_SCREENFONTS | CF_FIXEDPITCHONLY); |
|
static CFont *f = 0; |
|
LOGFONT lf; |
LOGFONT lf; |
|
|
|
GetFont()->GetLogFont(&lf); |
|
CFontDialog fd(&lf,CF_EFFECTS | CF_SCREENFONTS | CF_FIXEDPITCHONLY); |
|
static CFont *f = 0; |
|
|
ret = fd.DoModal(); |
ret = fd.DoModal(); |
if ( ret == IDOK ) { |
if ( ret == IDOK ) { |
fd.GetCurrentFont(&lf); |
fd.GetCurrentFont(&lf); |
Line 540 void CAsir32guiView::OnFont() |
|
Line 556 void CAsir32guiView::OnFont() |
|
f = new CFont; |
f = new CFont; |
f->CreateFontIndirect(&lf); |
f->CreateFontIndirect(&lf); |
SetFont(f); |
SetFont(f); |
|
UpdateMetrics(); |
} |
} |
} |
} |
|
|
Line 549 int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt |
|
Line 566 int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt |
|
return -1; |
return -1; |
|
|
// TODO: この位置に固有の作成用コードを追加してください |
// TODO: この位置に固有の作成用コードを追加してください |
|
|
LOGFONT logFont; memset(&logFont, 0, sizeof(LOGFONT)); |
LOGFONT logFont; memset(&logFont, 0, sizeof(LOGFONT)); |
logFont.lfHeight = 20; |
logFont.lfHeight = 20; |
logFont.lfCharSet = DEFAULT_CHARSET; |
logFont.lfCharSet = DEFAULT_CHARSET; |
Line 557 int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt |
|
Line 574 int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt |
|
CFont *f = new CFont; |
CFont *f = new CFont; |
f->CreateFontIndirect(&logFont); |
f->CreateFontIndirect(&logFont); |
SetFont(f); |
SetFont(f); |
|
UpdateMetrics(); |
GetEditCtrl().LimitText(nMaxSize); |
GetEditCtrl().LimitText(nMaxSize); |
GetEditCtrl().SetTabStops(m_nTabStops); |
GetEditCtrl().SetTabStops(m_nTabStops); |
|
|
return 0; |
return 0; |
} |
} |
Line 587 void CAsir32guiView::OnUpdateContribhelp(CCmdUI* pCmdU |
|
Line 605 void CAsir32guiView::OnUpdateContribhelp(CCmdUI* pCmdU |
|
} |
} |
} |
} |
pCmdUI->Enable( FALSE ); |
pCmdUI->Enable( FALSE ); |
|
} |
|
|
|
void CAsir32guiView::OnSize(UINT nType, int cx, int cy) |
|
{ |
|
CEditView::OnSize(nType, cx, cy); |
|
|
|
// TODO: この位置にメッセージ ハンドラ用のコードを追加してください |
|
UpdateMetrics(); |
} |
} |