五、增加对话框
VC-INSERT-RESOURCE-选择DIALOG,点击NEW按钮,在DIALOG上点击右键-PROPERTIES-GENERAL-ID改为IDD_DLGSHENGFANG,STYLES-SYSTEM MENU选项去除;MORE STYLES-VISIBALE勾选 F7编译OKwww.shengfang.org
六、创建类:www.shengfang.org
VC-在对话框上点击鼠标右键,选择 CLASS WIZARD菜单,ADD A CLASS 对话框,CREATE NEW CLASS,点击OK。在NEW CLASS对话框,name输入 CDlgshengfang,确定,确定。
七、代码1www.shengfang.org
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)
//{
// //{ { AFX_DATA_INIT(CDlgshengfang)
// // NOTE: the ClassWizard will add member initialization here
// // } }AFX_DATA_INIT
// } 替换为
CDlgshengfang::CDlgshengfang (AGSIMENU *pMen, CWnd *pWnd)
{
pM = pMen; www.shengfang.org // save DYM-Descriptor locally.
Create (IDD_DLGSHENGFANG, pWnd);
pDlgshengfang = this;
} F7编译OK
八、代码2
Dlgshengfang.cpp 增加 www.shengfang.org
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 = { 0, NULL, NULL, { -1, -1, -1, -1, }, PeriUpdate, PeriKill };
// 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 = { 1, "P10" , PeriDisp, 0, IDD_DLGSHENGFANG, &PeriDlg }; // Peripheral Dialogwww.shengfang.org
static void PeriUpdate (void) // Update Function
{
return;//if (pDlgshengfang) pDlgshengfang->Update();
}[hide]
static void PeriKill (AGSIDLGD *pM) // Kill Function
{
if (pDlgshengfang == NULL) return;
pDlgshengfang->SendMessage (WM_CLOSE);
pDlgshengfang = NULL;
pM->iOpen = 0;www.shengfang.org
pM->hw = NULL;
}[/hide]
static void PeriDisp (AGSIMENU *pM)
{
if (pM->pDlg->hw != NULL) // created
{
PeriKill (pM->pDlg); www.shengfang.org
}
else // close
{
pDlgshengfang = new CDlgshengfang (pM, NULL); // modeless construction
if (pDlgshengfang != NULL) // construction was Ok.
{
pM->pDlg->hw = pDlgshengfang->m_hWnd; // Dialog handle
}
}
}
编译 shengfangagsi.dll - 0 error(s), 0 warning(s)www.shengfang.org uVision