CVC_MFC_firstDlg dlg; //定义对话框对象m_pMainWnd = &dlg;  //这个定义的对话框 dlg 成为主窗口 应用程序对象成员变量m_pMainWnd是一个窗口指针,即主窗口的指针.在初始化实例时,要给这个指针进行赋值.如果这个指针为空,则在默认的接下来的消息循环中,将不继续往下执行,也就是说,程序执行完初始化后,程序就退出了.只要这个指针的值非空且合法,程序就能够继续执行下去.你可以在初始化实例时创建N多个窗口,而只有这个指针指向的才是主窗口.在初始化实例函数…
App是应用域,所有的域中的东西都可以通过全局函数访问到它. MainFrame是主框架,也基本可以用全局函数访问到. MainFrame下是若干个ChildFrame,ChildFrame中若干个View和Document(可能不成对),ChildFrame管理着View,View和Document进行互操作. 因此整体框架就出来了,一般除了直接应用的关系都可以通过MainFrame-->Active ChildFrame-->Active View-->Document这条线进行访问…
VC MFC SDI/MDI框架各部分指针获取方式   整理总结一下,希望能帮助到别人.   获得CWinApp 获得CMainFrame 获得CChildFrame 获得CDocument 获得CView 在CWinApp中   AfxGetMainWnd() m_pMainWnd AfxGetMainWnd()->MDIGetActive() AfxGetMainWnd()->GetActiveFrame() SDI:AfxGetMainWnd()->GetActiveView()-…
昨天发现了一个问题,就是使用对类中的非静态成员函数使用std::bind时,不能像普通函数一样直接传递函数名,而是必须显式地调用&(取地址),于是引申出我们今天的问题:非静态类成员函数指针和普通函数指针有什么区别? 一.C++中对函数到指针的隐式转换 以前在C语言程序设计课上,老师都会说:“函数名就是指向这个函数的指针”.实际上通过查阅cppreference中的隐式转换规则,其中有这么一句关键的话道出了玄机: 函数类型 T 的左值能隐式转换成指向该函数的指针纯右值.这不作用于非静态成员函数,因…
 我们都知道C++ class中有三种成员函数,static(静态的),nonstatic(非静态的),virtual(虚拟的)各种成员函数的指针各有差别,下面是一个完整的样例:(注意红颜色的差别) class A  { public:    static void staticmember(){cout<<"static"<<endl;}   //static member    void nonstatic(){cout<<"non…
方法一: 第一步:在VS2010里面新建一个单文档MFC程序. 第二步:在App类里面的头文件里面 定义性声明一个变量 ,见下面程序 public: CString ii; 第三步:在App类的实现文件里面的InitInstance函数中给ii赋值 ii="12345"; 第四步:在View类的OnDraw函数中,定义一个变量 用于接收数据 CString iii;//创建一个字符串类的对象 用于接收 APP中的数据 第五步:核心步骤. iii = ((CTestApp*)AfxGet…
今早通过WCF服务添加对象到数据库,有一个变量始终没有传过来 定义: public bool isLogin; 修改成 private bool _isLogin; public bool isLogin{get{ return _isLogin; } set { _isLogin=value;}} 即可OK 原因未知,求高手  …
int MessageBox(   HWND hWnd,          // handle of owner window   LPCTSTR lpText,     // address of text in message box   LPCTSTR lpCaption,  // address of title of message box   UINT uType          // style of message box ); 在uType参数中设置MB_SYSTEMMODA…
下面先来看c++的源码: #include <cstdio> using namespace std; class X { public: int get1() { ; } virtual int get2() { ; } virtual int get3() { ; } }; int main() { X x; X* xp = &x; int(X::*gp1)() = &X::get1; int(X::*gp2)() = &X::get2; int(X::*gp3)(…
指向对象的指针 在建立对象的时候,变异系统会给每一个对象分配一定的存储空间,以存放其成员. 对象空间的起始地址就是对象的指针.可以定义一个指针变量,用来存放对象的指针. 一个简单的示例1.1: #include<iostream> using namespace std; class Student { public: int num; int score; Student(int ,int );//声明构造函数 void Print();//声明输出信息函数 }; Student::Stud…