五、增加对话框

      VC-INSERT-RESOURCE-选择DIALOG,点击NEW按钮,在DIALOG上点击右键-PROPERTIES-GENERAL-ID改为IDD_DLGSHENGFANG,STYLES-SYSTEM MENU选项去除;MORE STYLES-VISIBALE勾选 F7编译OKwww.yippeesoft.com

六、创建类:www.yippeesoft.com

     VC-在对话框上点击鼠标右键,选择 CLASS WIZARD菜单,ADD A CLASS 对话框,CREATE NEW CLASS,点击OK。在NEW CLASS对话框,name输入 CDlgshengfang,确定,确定。

七、代码1www.yippeesoft.com

      Dlgshengfang.h,增加INCLUDE:#include "stdafx.h" #include "Agsi.h" #include "Common.h";CDlgshengfang(CWnd* pParent = NULL); 替换为 CDlgshengfang (AGSIMENU *pMen, CWnd *pWnd); Dlgshengfang.cpp 增加 static CDlgshengfang  * pDlgshengfang;

//CDlgshengfang::CDlgshengfang(CWnd* pParent /*=NULL*/)
// : CDialog(CDlgshengfang::IDD, pParent)
//&leftsign;
// //&leftsign;&leftsign;AFX_DATA_INIT(CDlgshengfang)
//  // NOTE: the ClassWizard will add member initialization here
// //&rightsign;&rightsign;AFX_DATA_INIT
//&rightsign; 替换为

CDlgshengfang::CDlgshengfang (AGSIMENU *pMen, CWnd *pWnd) 
&leftsign;
 pM = pMen;   www.yippeesoft.com                  // save DYM-Descriptor locally.
 Create (IDD_DLGSHENGFANG, pWnd);
 pDlgshengfang = this;
&rightsign; F7编译OK

八、代码2

     Dlgshengfang.cpp 增加 www.yippeesoft.com
static void PeriUpdate (void);
static void PeriKill   (AGSIDLGD *pM);
static void PeriDisp   (AGSIMENU *pM);

// must not use \’const\’ here !
//                    iOpen  Hwnd   Dlg Proc.  Rect: -1 := default   Update       Kill
AGSIDLGD PeriDlg =  &leftsign; 0,     NULL,  NULL,      &leftsign; -1, -1, -1, -1, &rightsign;,  PeriUpdate,  PeriKill &rightsign;;

// The following line specifies the menu entry in the peripheral pull down menu.
// The \’&\’ and the following character in the sting specifies the keyboard shortcut. <Alt+3> in this case. 
//                     nDelim  *szText       *fp       nID  nDlgId            *pDlg;
AGSIMENU PeriMenu =  &leftsign; 1,      "P10" ,  PeriDisp, 0,   IDD_DLGSHENGFANG, &PeriDlg &rightsign;;  // Peripheral Dialogwww.yippeesoft.com

static void PeriUpdate (void)   // Update Function
&leftsign;           
 return;//if (pDlgshengfang) pDlgshengfang->Update();
&rightsign;[hide]
static void PeriKill (AGSIDLGD *pM)  // Kill Function
&leftsign;     
 if (pDlgshengfang == NULL) return;
 pDlgshengfang->SendMessage (WM_CLOSE);
 pDlgshengfang  = NULL;
 pM->iOpen = 0;www.yippeesoft.com
 pM->hw    = NULL;
&rightsign;[/hide]

static void PeriDisp (AGSIMENU *pM) 
&leftsign;
 if (pM->pDlg->hw != NULL) // created
 &leftsign;             
  PeriKill (pM->pDlg);   www.yippeesoft.com
 &rightsign;
 else      // close
 &leftsign;
  pDlgshengfang = new CDlgshengfang (pM, NULL);     // modeless construction
  if (pDlgshengfang != NULL)  // construction was Ok.
  &leftsign;                  
   pM->pDlg->hw = pDlgshengfang->m_hWnd;       // Dialog handle
  &rightsign;
 &rightsign;
&rightsign;

编译 shengfangagsi.dll – 0 error(s), 0 warning(s)www.yippeesoft.com uVision

历史博文

标签:, , , , ,
七月 20, 2005 at 10:05 上午 by yippee 1,076 次
Category: Dev
Tags: , , , , ,