MyApp.h和MyApp.cpp

#ifndef MY_APP_H_
#define MY_APP_H_ #include <afxwin.h> class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
}; #endif ===================================== #include "stdafx.h"
#include "MyApp.h" #include "resource.h"
#include "MyCustomCDialog.h" BOOL CMyApp::InitInstance()
{
/*
CDialog dialog;
dialog.Create(IDD_DIALOG_FIRST,NULL);
dialog.ShowWindow(m_nCmdShow);
*/ CMyCustomCDialog myDialog;
myDialog.DoModal();
//myDialog.ShowWindow(m_nCmdShow); /*myDialog.UpdateData(true); std::string result(myDialog.m_cstrEditFirst.GetBuffer());
myDialog.m_cstrEditFirst.ReleaseBuffer();
*/
::MessageBox(NULL,"Message","Title",MB_OK);
myDialog.DestroyWindow(); return true;
} CMyApp myApp;

CMyCustomCDialog.h和 CMyCustomCDialog.cpp

#ifndef MY_CUSTOM_CDIALOG_H_
#define MY_CUSTOM_CDIALOG_H_ #include <afxwin.h>
#include "resource.h"
#include <string> class CMyCustomCDialog:public CDialog
{
public:
CMyCustomCDialog(CWnd* pParent=NULL); enum{ IDD=IDD_DIALOG_FIRST }; //Overrides
protected:
virtual void DoDataExchange(CDataExchange* pDX); //Implement
protected:
afx_msg void OnDoAction(); DECLARE_MESSAGE_MAP() public:
CString m_cstrEditFirst;
}; #endif ====================================== #include "stdafx.h"
#include "MyCustomCDialog.h" CMyCustomCDialog::CMyCustomCDialog(CWnd* pParent)
:CDialog(CMyCustomCDialog::IDD,pParent)
{ } void CMyCustomCDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
::MessageBox(NULL,"Message_DoDataExchange","Title",MB_OK); DDX_Text(pDX,IDC_EDIT_FIRST,m_cstrEditFirst);
} BEGIN_MESSAGE_MAP(CMyCustomCDialog,CDialog)
ON_BN_CLICKED(IDC_BUTTON_ACTION,OnDoAction)
END_MESSAGE_MAP() void CMyCustomCDialog::OnDoAction()
{
HWND hWnd=::GetDlgItem(this->m_hWnd,IDC_EDIT_FIRST);
char* pChar=new char[];
memset(pChar,'\0',);
::GetWindowText(hWnd,pChar,);
m_cstrEditFirst.Format("%s",pChar);
}

Resource很简单:

sample edit box(CEdit)

  Action(CButton)

关键代码是:

void CMyCustomCDialog::OnDoAction()
{
  HWND hWnd=::GetDlgItem(this->m_hWnd,IDC_EDIT_FIRST);
  char* pChar=new char[100];
  memset(pChar,'\0',100);
  ::GetWindowText(hWnd,pChar,99);
  m_cstrEditFirst.Format("%s",pChar);
}

根据ID获取CEdit的句柄实例的更多相关文章

  1. 利用进程ID获取主线程ID

    利用进程ID获取主线程ID,仅适用于单线程.多线程应区分哪个是主线程,区分方法待验证 (1)好像可以用StartTime最早的,不过通过线程执行时间不一定可靠,要是在最开始就CreateThread了 ...

  2. 线程、线程ID获取

    一.进程ID获取 1.1  当前进程的Id 方法1 通过进程名获取 下面的例子中,也包含了获取该进程下的线程的方法. System.Diagnostics.Process[] processes:bo ...

  3. MFC获取各类指针句柄

    最近有些人在问MFC编程一些要点,有一些句柄的获取.指针的获取是常见的问题,本文将对这些问题做以解释,参考了前人的笔录(见reference),希望能够帮助大家更方便地进行MFC程序开发. 一般我们使 ...

  4. JavaScript通过ID获取元素坐标

    JavaScript通过ID获取元素坐标 function getElementPos(elementId) {    var ua = navigator.userAgent.toLowerCase ...

  5. js中用tagname和id获取元素的3种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. monkeyrunner之坐标或控件ID获取方法(六)

    Monkeyrunner的环境已经搭建完成,现在对Monkeyrunner做一个简介. Monkeyrunner工具提供了一套API让用户/测试人员来调用,调用这些api可以控制一个Android设备 ...

  7. C#如何在子窗体获取父窗体的实例

    在子窗体可以使用this.Owner来获取父窗体的实例

  8. 通过class和id获取DOM元素的区别

    1.通过id获取DOM元素的方法:document.getElementById("id名") 2.通过class获取DOM元素的方法:document.getElementsBy ...

  9. jqGrid根据ID获取行号

    根据行号获取ID $('#grid').getCell(rownumber,'id') 根据ID获取行号 $('#' + rowid)[0].rowIndex

随机推荐

  1. Java系列,《Java核心技术 卷1》,chapter 13,集合

    13.1.2 Java类库中的集合接口和迭代器接口     删除元素,对于next和remove的调用是互相依赖的,如果调用remove之前没有调用next,则会跑出IllegalStateExcep ...

  2. Hibernate一级缓存与二级缓存的区别

    一级缓存: 就是Session级别的缓存.一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中. 如果短时间内这个session(一定要同一个session)又做了同一个操作,那么h ...

  3. 第十章 使用MapKit

    本项目是<beginning iOS8 programming with swift>中的项目学习笔记==>全部笔记目录 ------------------------------ ...

  4. 『.Net』微软家的女儿们

    在博客园看到了 一篇文章 <.NET4.0框架退休日期逐渐临近> 写下了这篇文章 —— 记录我和 .Net Framework 的 那些日子. 微软 家有几个 女儿. 2008年,我遇到他 ...

  5. activity动画主题使用注意事项

    当我们不满足于系统默认的activity动画交互方式,我们可以通过在主题里面,指定activity动画样式来实现自定义交互效果. 在style里面定义样式 <!-- Base applicati ...

  6. angular实例教程(用来熟悉指令和过滤器的编写)

    angular的插件太少了,  所以很多指令和过滤器都要自己写,  所以对指令传进来的参数, 以及angular编译的流程更加熟悉才行写出好的插件, 有些简单的指令是参考angularUI里面, 作为 ...

  7. tomcat 的安装

    安装tomcat的前提: 首先要做的是有java环境,这里我们可以选择安装jre(java环境包).或者说安装java开发工具包ldk 我这里选择安装jdk 我们在google里搜索jdk,你就能都找 ...

  8. DML语言练习,数据增删改查,复制清空表

    Connected Connected as TEST@ORCL SQL> select * from t_hq_bm; BUMBM BUMMC DIANH ---------- ------- ...

  9. hdu1217 floyd

    floyd一遍即可.如果floyd后值有变大就是 #include<map> #include<string> #include<stdio.h> #include ...

  10. Yii2 实现修改密码功能

    YII2对密码加密生成的结果是不同的,即用相同的初始密码在不同时间得到的加密结果不同,所以我们不能用常用的方法去验证密码是否正确(将密码加密后与数据库中的密码相比较).YII2有自己的加密以及密码验证 ...