⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp

📁 Win32多線程程序設計
💻 CPP
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "CopyData.h"

#include "MainFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// Define the action commands
enum { ACTION_DISPLAY_TEXT, ACTION_CLEAR_WINDOW };

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG_MAP
    ON_MESSAGE(WM_COPYDATA, OnCopyData)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	// TODO: add member initialization code here
	
}

CMainFrame::~CMainFrame()
{
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	cs.style &= ~(FWS_ADDTOTITLE);	// Do not put in a document name

	return CFrameWnd::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers

LONG CMainFrame::OnCopyData( UINT wParam, LONG lParam)
{
//  HWND hwnd = (HWND)wParam;            // handle of sending window 
    PCOPYDATASTRUCT pcds = (PCOPYDATASTRUCT) lParam;

    // The view is inside the mainframe,
    //and the edit control is in the view
    CEditView* pView = (CEditView*)GetActiveView();
    ASSERT_VALID(pView);

    // Find the edit control
    CEdit& ctlEdit = pView->GetEditCtrl();

    switch (pcds->dwData)
    {
    case ACTION_DISPLAY_TEXT:
        {
        LPCSTR szNewString = (LPCSTR)(pcds->lpData);
        // Setting a CString equal to a LPCSTR makes a copy of the string.
        CString strTextToDisplay = szNewString;
        // Throw away any \r\n that may already be there
        strTextToDisplay.TrimRight();
        // Now add our own
        strTextToDisplay += "\r\n";

        // Set the cursor back at the end of the text
        int nEditLen = ctlEdit.GetWindowTextLength();
        ctlEdit.SetSel(nEditLen, nEditLen);
        // Append the text
        ctlEdit.ReplaceSel(strTextToDisplay);
        ctlEdit.ShowCaret();
        break;
        }

    case ACTION_CLEAR_WINDOW:
        ctlEdit.SetWindowText("");
        break;

    default:
        break;
    }

    return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -