请教RegisterWindowMessage函数的用法,最好给个实例
答案:2 悬赏:70 手机版
解决时间 2021-02-10 01:30
- 提问者网友:玫瑰园
- 2021-02-09 20:14
请教RegisterWindowMessage函数的用法,最好给个实例
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-09 21:34
.h文件中
class CTestDlg : public CDialog
{
public:
CTestDlg(CWnd* pParent = NULL); // standard constructor
//{{AFX_DATA(CTestDlg)
enum { IDD = IDD_TEST_DIALOG };
CHy1000HD m_hdATL;
//}}AFX_DATA
//{{AFX_VIRTUAL(CTestDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
protected:
HICON m_hIcon;
//{{AFX_MSG(CTestDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
//}}AFX_MSG
afx_msg LRESULT OnDataOK(WPARAM, LPARAM);
DECLARE_MESSAGE_MAP()
};
.cpp中
CTestDlg::CTestDlg(CWnd* pParent )
: CDialog(CTestDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
UINT WM_DATAOK = RegisterWindowMessage("WM_HY1000DATAOK");
const IID IID_IHy1000Sim = {0xC11E3D49,0x768F,0x4094,{0xAB,0x01,0x8D,0xED,0x8E,0xC5,0x71,0xA8}};
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BTN_START, OnBtnStart)
//}}AFX_MSG_MAP
ON_REGISTERED_MESSAGE( WM_DATAOK , OnDataOK )
END_MESSAGE_MAP()
LRESULT CTestDlg::OnDataOK(WPARAM wp, LPARAM lp)
{
float *pBuf = ( float * )wp;
long nLen = (long)lp;
float depth = *pBuf ;
CString strDepth;
strDepth.Format("%f",depth);
CWnd *pWnd = GetDlgItem(IDC_EDITDEP);
if ( pWnd && pWnd->GetSafeHwnd())
pWnd->SetWindowText( strDepth);
return TRUE ;
class CTestDlg : public CDialog
{
public:
CTestDlg(CWnd* pParent = NULL); // standard constructor
//{{AFX_DATA(CTestDlg)
enum { IDD = IDD_TEST_DIALOG };
CHy1000HD m_hdATL;
//}}AFX_DATA
//{{AFX_VIRTUAL(CTestDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
protected:
HICON m_hIcon;
//{{AFX_MSG(CTestDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
//}}AFX_MSG
afx_msg LRESULT OnDataOK(WPARAM, LPARAM);
DECLARE_MESSAGE_MAP()
};
.cpp中
CTestDlg::CTestDlg(CWnd* pParent )
: CDialog(CTestDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
UINT WM_DATAOK = RegisterWindowMessage("WM_HY1000DATAOK");
const IID IID_IHy1000Sim = {0xC11E3D49,0x768F,0x4094,{0xAB,0x01,0x8D,0xED,0x8E,0xC5,0x71,0xA8}};
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BTN_START, OnBtnStart)
//}}AFX_MSG_MAP
ON_REGISTERED_MESSAGE( WM_DATAOK , OnDataOK )
END_MESSAGE_MAP()
LRESULT CTestDlg::OnDataOK(WPARAM wp, LPARAM lp)
{
float *pBuf = ( float * )wp;
long nLen = (long)lp;
float depth = *pBuf ;
CString strDepth;
strDepth.Format("%f",depth);
CWnd *pWnd = GetDlgItem(IDC_EDITDEP);
if ( pWnd && pWnd->GetSafeHwnd())
pWnd->SetWindowText( strDepth);
return TRUE ;
全部回答
- 1楼网友:雾月
- 2021-02-09 21:48
如图:
将公式
=offset(c1,sumproduct(max((a2:a13=e2)*(b2:b13=f2)*row(a2:a13)-1)),0)
粘贴至g2单元格即可,修改要查询的项目,效果如图:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯