text_exchange - yamaumima/hello.github.io GitHub Wiki

// MFCApplication35View.cpp: CMFCApplication35View 类的实现 //

#include "pch.h" #include "framework.h" // SHARED_HANDLERS 可以在实现预览、缩略图和搜索筛选器句柄的 // ATL 项目中进行定义,并允许与该项目共享文档代码。 #ifndef SHARED_HANDLERS #include "MFCApplication35.h" #endif

#include "MFCApplication35Doc.h" #include "MFCApplication35View.h"

#ifdef _DEBUG #define new DEBUG_NEW #endif

// CMFCApplication35View

IMPLEMENT_DYNCREATE(CMFCApplication35View, CView)

BEGIN_MESSAGE_MAP(CMFCApplication35View, CView) ON_WM_CONTEXTMENU() ON_WM_RBUTTONUP() ON_COMMAND(ID_32771, &CMFCApplication35View::On32771) ON_BN_CLICKED(ID_BUTTON, &CMFCApplication35View::OnMyButton) ON_COMMAND(ID_32772, &CMFCApplication35View::On32772) ON_EN_CHANGE(1000000, &CMFCApplication35View::OnEdit1TextChanged) ON_EN_CHANGE(1000001, &CMFCApplication35View::OnEdit2TextChanged) END_MESSAGE_MAP()

// CMFCApplication35View 构造/析构

CMFCApplication35View::CMFCApplication35View() noexcept { // TODO: 在此处添加构造代码

}

CMFCApplication35View::~CMFCApplication35View() { }

BOOL CMFCApplication35View::PreCreateWindow(CREATESTRUCT& cs) { // TODO: 在此处通过修改 // CREATESTRUCT cs 来修改窗口类或样式

return CView::PreCreateWindow(cs);

}

// CMFCApplication35View 绘图

void CMFCApplication35View::OnDraw(CDC* /pDC/) { CMFCApplication35Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return;

// TODO: 在此处为本机数据添加绘制代码

}

void CMFCApplication35View::OnRButtonUp(UINT /* nFlags */, CPoint point) { ClientToScreen(&point); OnContextMenu(this, point); }

void CMFCApplication35View::OnContextMenu(CWnd* /* pWnd */, CPoint point) { #ifndef SHARED_HANDLERS theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE); #endif }

// CMFCApplication35View 诊断

#ifdef _DEBUG void CMFCApplication35View::AssertValid() const { CView::AssertValid(); }

void CMFCApplication35View::Dump(CDumpContext& dc) const { CView::Dump(dc); }

CMFCApplication35Doc* CMFCApplication35View::GetDocument() const // 非调试版本是内联的 { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMFCApplication35Doc))); return (CMFCApplication35Doc*)m_pDocument; } #endif //_DEBUG

// CMFCApplication35View 消息处理程序

void CMFCApplication35View::On32771() { // TODO: 在此添加命令处理程序代码 m_myButton.Create(_T("示例按钮"), //按钮的caption属性,按钮的显示 WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_ICON, // 按钮也是一种窗体,同样有窗体风格,这些常量通过或运算使按钮达到一定的效果,这些常量的含义可以参考MSDN。 CRect(20, 320, 250, 340), //这个参数指出按钮在视图中的位置和按钮的大小。 this, //这个指针指向按钮这个窗体的父窗体 ID_BUTTON); CRect rect; GetClientRect(rect); rect.left += 300; rect.right/= 2;

edit1.Create(WS_CHILD | WS_VISIBLE|WS_BORDER| ES_MULTILINE, rect, this, 1000000);

}

void CMFCApplication35View::OnMyButton() { MessageBox(L"你点击了我"); } bool e = false;

void CMFCApplication35View::On32772() { // TODO: 在此添加命令处理程序代码 //static CEdit edit2; CRect rect; GetClientRect(rect); rect.left += 300; rect.left += rect.right / 2; //rect.right /= 2; CEdit* pEdit1 = (CEdit*)GetDlgItem(1000000); if(pEdit1==NULL) { AfxMessageBox(L"wrong"); return; } edit2.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE, rect, this, 1000001);

CString text;
pEdit1->GetWindowText(text);
e = true;

if(text=L"") return;
// 将第一个编辑框的文本复制到第二个编辑框
edit2.SetWindowText(text);

}

void CMFCApplication35View::OnEdit1TextChanged() { if (e) { CString text; edit1.GetWindowText(text); edit2.SetWindowText(text); e = true; } }

void CMFCApplication35View::OnEdit2TextChanged() { if (e) { CString text;

	edit2.GetWindowText(text);

	edit1.SetWindowText(text);
}

}