当前位置: 首页 > article >正文

Visual C++ 2011-4-8

 

一.DDX_Control && UpdateData

将控件Id和实例关联起来,方便直接取得对象,与GetDlgItem函数取对象相同

void CDemoDlg::DoDataExchange(CDataExchange* pDX)
{CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDemoDlg)DDX_Control(pDX, IDC_LIST, m_ctrlList);CWnd *dlg=this->GetDlgItem(IDC_LIST);//}}AFX_DATA_MAP
}

除了DDX_Control之外,还有其他DDX_xxx的函数,比如绑定到CheckBox和BOOL变量,调用UpdateData方法则会更新数据

二.MAKEINTRESOURCE

资源名转换的宏,即将数字转换为字符串

参考:http://baike.baidu.com/view/2899077.htm

三.ExpandEnvironmentStrings

获取操作系统环境变量

#include <windows.h>
#include <stdio.h>
void main(void)
{putenv("Program Files=c:\\Program   Files");putenv("MyPath=Outlook Express");//char *var1="%Program Files%\\%MyPath%\\msimn.exe";char *var1 = "%SystemDrive%";char buf1[1024];ExpandEnvironmentStrings(var1,buf1,sizeof(buf1));MessageBoxA(NULL, buf1, "ExpandStrings1: SystemDrive", MB_OK);//char *var2="%temp%\\adsdasd";char *var2 = "%WinDir%";char buf2[1024];ExpandEnvironmentStrings(var2,buf2,sizeof(buf2));MessageBoxA(NULL, buf2, "ExpandStrings2: WinDir", MB_OK);
}

四.CImageList

Provides the functionality of the Windows common image list control.

即为MFC控件提供一个图片的列表.
比如给CComboBoxEx和CListCtrl等控件使用,调用相关控件的SetImageList方法

 CImageList *m_pImageListSmall = new CImageList();m_pImageListSmall->Create(16, 16, TRUE, 4, 4);m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST1));m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST2));m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST3));m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST4));
CComboBoxEx *m_wndCBEx= (CComboBoxEx*)this->GetDlgItem(IDC_COMBOBOXEX1);m_wndCBEx->SetImageList (m_pImageListSmall);
for (int i=0; i<5; i++) {CString string;string.Format (_T ("Item %d"), i);COMBOBOXEXITEM cbei;cbei.mask = CBEIF_IMAGE| CBEIF_SELECTEDIMAGE | CBEIF_TEXT;cbei.iItem = i;cbei.pszText = (LPTSTR) (LPCTSTR) string;cbei.iImage = 1;cbei.iSelectedImage = 1;cbei.iIndent = (i & 0x03); m_wndCBEx->InsertItem (&cbei);
}

五.GetStockObject

取得一个固有对象(即操作系统预定的对象,无法删除),不要用DeleteObject去删除GetStockObject取出的对象

六.CPropertySheet && CPropertyPage

属性Tab选项卡,CPropertyPage继承自CDialog,所以也是对话框

class CFirstPage : public CPropertyPage
{
public:CFirstPage () : CPropertyPage (IDD_FIRSTPAGE) {};// Declare CFirstPage's data members here.
protected:virtual void DoDataExchange (CDataExchange*);
};
class CSecondPage : public CPropertyPage
{
public:CSecondPage () : CPropertyPage (IDD_SECONDPAGE) {};// Declare CSecondPage's data members here.
protected:virtual void DoDataExchange (CDataExchange*);
};
class CMyPropertySheet : public CPropertySheet
{
public:CFirstPage m_firstPage;         // First pageCSecondPage m_secondPage;       // Second page// Constructor adds the pages automatically.CMyPropertySheet (LPCTSTR pszCaption, CWnd* pParentWnd = NULL) :CPropertySheet (pszCaption, pParentWnd, 0){AddPage (&m_firstPage);AddPage (&m_secondPage);}
};

先有个概念了解下
参考:Visual Studio的PropDlg例子
http://www.vckbase.com/document/viewdoc/?id=398
http://www.vckbase.com/document/viewdoc/?id=330
http://blog.csdn.net/lixiaosan/archive/2006/04/13/661458.aspx

七.SetIcon两次的疑惑

http://zhidao.baidu.com/question/176982744.html

http://www.lryc.cn/news/2418856.html

相关文章:

  • 韶关IBM 联想服务器维修 X3650 M5
  • 灰鸽子使用教程(图文教程)
  • 10月28日 迅雷白金会员vip账号分享 91freevip 22:00更新
  • Fedora12下安装NCTUns6.0
  • 2015年全国谷歌卫星地图离线数据存储方案
  • ASP.NET 博客网站系统的设计与实现(论文+源码)_Nueve
  • Ultra RM Converter v1.2.7
  • 乐嘉的经典语录
  • 彻底禁用Autorun.inf, 杜绝U盘病毒
  • TD三国赤壁通关攻略与录像下载
  • TestDirector安装部署的前提
  • 解密QQ盗号诈骗APP:逆向溯源,探寻幕后黑色操作
  • java队徽_求实况足球10PC版(PES6)存档修改器 PESFan Editor 6所需的Java程序(必须是能够下载的链接,死链接免扰!...
  • 完美的Ubuntu 7.10,恐惧吧,微软!
  • DLL注入之消息钩子
  • ghttp数据结构
  • 分享几个免费的开源邮件服务器软件
  • 白帽子技术分析会话劫持实战讲解
  • 15名程序员界的高富帅+白富美
  • 软件测试项目实战案例分解,跟着我一步一步操作【人力资源管理系统】
  • Red Flag Linux 红旗Linux桌面6.0系列
  • 【VB超简单入门】三、开始编程
  • Android设置透明、半透明等效果
  • 自动刷百度下拉词优化工具
  • c++进制与进制转换
  • OpenCV的视频编解码器的编码格式
  • 用JavaScript在网页右下角弹出窗口
  • C#动态循环生成控件(附源码)
  • 泽西岛Java教程
  • vrml场景实例代码_【免费毕设】JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)...