2010.7.1

1、MFC中全局变量的定义

    可以在APP中定义全局变量,比如:

class CPnrNetCfgApp : public CWinAppEx
{
public:
 CPnrNetCfgApp();

....
public:
 CPnrAutoNamingOrdering* ordering;//全局变量
 CPnrAutoNamingReferencename* referencename;//全局变量
 CPnrAutoNamingSensorname* sensorname;//全局变量
 CPnrAutoNamingMiscellaneous* Miscellaneous;//全局变量

这样,其它地方都可以使用MyApp,这个全局对象来使用全局变量。全局变量的释放,可以放在MainFrame的析构函数中;

 

以上方法的缺点:

     可以考虑放在document中,因为document本身就是为了数据服务准备的

 

2、对View的理解

    View是一个CWnd,包括CTreeView、CScrollView等;

    假如我应用程序建的是一个CScrollView,为了显示的要求,我可以在CScrollView中,显示一个CMFCPropertyGridCtrl、CWebBrowser2、CPnrListCtrl....等等,他们都继承于CWnd,可以显示多个,来回切换。通过ShowWindow来控制到底要显示哪个。

    CPnrListCtrl对象的生成需要使用Create。

    如果频繁进行切换,那么需要判断某个CPnrListCtrl之类的对象是否为空,怎么判断呢?可以

    if (mywnd.m_hWnd==NULL)//判断句柄是否为空
 {

 }

   如果销毁的话,需要使用DestroyWindow();

 

3、关于消息映射的ON_COMMAND命令消息

    比如,ON_COMMAND(ID_PNR_PANE_REPORT_CONFIG,&CMainFrame::OnReport)

    OnReport()没有任何参数,为什么呢?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(2010.7.1)