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. Firefox扩展开发

    Firefox扩展开发 (插件开发) Extension开发 入门教程 5步走 五步走   首先需要知道什么是"Firefox插件".这里说的"插件"只是一个通 ...

  2. 学习笔记——Maven实战(三)多模块项目的POM重构

    重复,还是重复 程序员应该有狗一般的嗅觉,要能嗅到重复这一最常见的坏味道,不管重复披着怎样的外衣,一旦发现,都应该毫不留情地彻底地将其干掉.不要因为POM不是产品代码而纵容重复在这里发酵,例如这样一段 ...

  3. 几种Boost算法的比较(Discrete AdaBoost, Real AdaBoost, LogitBoost, Gentle Adaboost)

    关于boost算法 boost算法是基于PAC学习理论(probably approximately correct)而建立的一套集成学习算法(ensemble learning).其根本思想在于通过 ...

  4. http请求过程简要

    一次http请求主要分为3个大步. 建立tcp连接. 这里就发生了经典的tcp三次握手.做个类比解释下,tcp好比http的秘书,和厂家(服务器端)做买卖.老板(http)叫秘书(tcp)去联系一下, ...

  5. js中模仿接口继承

    一般情况下我们会这样写,但是这样写的话,不够美化或者直观. 如果我们可以这样写的话,感觉更好: 但是样子的话,我们没有考虑原型覆盖之类的,因为我们通常的情况,我们继承只有一层,在通常情况下,我们原型覆 ...

  6. cryptDB安装分析

    cryptDB的安装脚步是用ruby语言写的,由于这里对ruby语言不熟悉,只能做简答的分析.我们先看看cryptDB的目录结构. 主要的目录有bins.doc.main.udf目录,下面我们通过分析 ...

  7. Nodejs学习笔记(三)--- 模块

    目录 简介及资料 自定义模块 创建一个自定义模块 调用自定义模块 exports和module.exports 区别 exports和module.exports 覆盖 其它... 简介及资料 通过N ...

  8. Moqui学习Day2

    用户 本地化  消息和日志门面 用户门面用于管理当前用户和访问,登陆,授权及登出的信息.用户信息包括区域设置,时区以及币种/ec.user.nowTimestamp设置日期. 消息门面用于追踪用户的消 ...

  9. 将Image转化为BufferImage

    public class BufferedImageBuilder { private static final int DEFAULT_IMAGE_TYPE = BufferedImage.TYPE ...

  10. 多个TableView的练习

    效果图: 左边图片的代码: // // SecViewController.m // UI__多个TableView练习 // // Created by dllo on 16/3/17. // Co ...