国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ON_CONTROL_RANGE
ON_CONTROL_RANGE
vc ON_CONTROL_RANGE 多個控件響應一個方法2009-03-16 09:30分三個步驟
1.在頭文件中聲明函數(shù)例如
afx_msg void onNum(UINT uID)
2.在.cpp文件中添加函數(shù)體
void CCalculatorDlg::OnNum(UINT uID)
{
UINT index=uID-IDC_NUM_0;
CString num;
num.Format(_T("%d"),index);
AfxMessageBox(num);
}
3.添加消息映射
ON_CONTROL_RANGE(BN_CLICKED,IDC_NUM_0,IDC_NUM_9,OnNum)
第一個參數(shù) 事件
第二個參數(shù) 控件的第一個id
第三個參數(shù) 空間的最后一個id
第四個參數(shù) 響應事件的方法

注意 id號必須是連續(xù)的 如果是自己手動修改的
請先點擊 build -Clear   然后在重新編譯
 

  ON_CONTROL_RANGE 宏 收藏
昨天我寫一個程序,用到了多個check box,這多個check box響應了同一個函數(shù),如果逐個添加消息映
射的話,那么太麻煩了,于是想到用下面的方法:
 在.h文件中
BOOL    m_fCheck[3]; // 代表3個check box選中的狀態(tài)
afx_msg void OnCheck();
在.cpp中
在構(gòu)造函數(shù)中:
for ( int i = 0; i < 3; i++ )
m_fCheck[i] = FALSE;  // 初始化3個check box都為未選中狀態(tài)
在DoDataExchange中
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTestDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
// 添加數(shù)據(jù)映射,將每個check box和對應的數(shù)組元素關聯(lián)起來
for ( int i=0; i<3; i++ )
DDX_Check(pDX, IDC_CHECK1 + i, m_fCheck[i]);
}
在消息映射中
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
// 添加控件響應的消息映射,由于這些控件的Id是連續(xù)的,于是我用了ON_CONTROL_RANGE
ON_CONTROL_RANGE(BN_CLICKED, IDC_CHECK1, IDC_CHECK3, OnCheck)
END_MESSAGE_MAP()
在OnCheck()中
void CTestDlg::OnCheck()
{
}
但是問題出來了,我無論點擊哪一個checkbox,在debug狀態(tài)下:
隨便點擊任何一個,都不會出現(xiàn)任何問題
但在release狀態(tài)下:
Unhandled exception in test.exe:0xC0000005:Access Violation.
然后在輸出窗口中:
First-chance exception in test.exe: 0xC0000005: Access Violation.
找了一個下午都沒有找出到底問題出現(xiàn)在什么地方,后來去了csdn,事情終于有了眉目,對于
ON_CONTROL_RANGE宏中的響應函數(shù)OnCheck必須得有一個ID的參數(shù):
afx_msg void OnCheck(UINT uID);
而無論你是否使用這個ID。實際上,經(jīng)過我的測試,這個宏改為
ON_COMMAND_RANGE(IDC_CHECK1, IDC_CHECK3, OnCheck)
也可以,但是還是一樣OnCheck也必須帶有一個ID參數(shù)。
 
本文來自CSDN博客,轉(zhuǎn)載請標明出處:
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
問題詳情
VC ON
CLRCDlg::CLRCDlg(CWnd* pParent /*=NULL*/): CDialog(CLRCDlg::IDD, pParent)
VC中程序最小化到托盤
給按鈕加上bmp圖片
網(wǎng)上收集的關于static text文字修改顏色和字體的解決辦法
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服