TA的每日心情 | 开心 前天 22:51 |
---|
签到天数: 946 天 [LV.10]以坛为家III
管理员
- 积分
- 28876
|
一、修改【SOUI】代码
1、【SEvents.h】enum SOUI_EVENTS中添加一行【EVT_LBUTTONDBCLICK】;
2、【SEvents.h】中增加:
SEVENT_BEGIN_EX(EventLBDbClickWnd, EVT_LBUTTONDBCLICK, on_mouse_lbutton_dblick,SOUI_EXP)
UINT nFlags;
POINT pt;
SEVENT_END()
3、在【SWnd.h】的【SOUI_MSG_MAP_BEGIN()】段中增加
MSG_WM_LBUTTONDBLCLK(OnLButtonDBClick)
4、在【SWnd.h】的【protected:】中增加:
void OnLButtonDBClick(UINT nFlags, CPoint pt);
5、在【SWnd.cpp】中增加:
void SWindow::OnLButtonDBClick(UINT nFlags, CPoint pt)
{
if(m_bFocusable) SetFocus();
SetCapture();
//ModifyState(WndState_PushDown, 0,TRUE);
EventLBDbClickWnd evtLButtonDBClick(this);
evtLButtonDBClick.pt = pt;
evtLButtonDBClick.nFlags=nFlags;
FireEvent(evtLButtonDBClick);
}
二、重新编译SOUI
三、使用时【即:绑定事件】:
1、在【你的窗口类文件.h】的【EVENT_MAP_BEGIN()】中增加:
EVENT_NAME_HANDLER(L"txt_Auto", EVT_LBUTTONDBCLICK, OnAutoTxtEvent)
在【protected:】中增加:
void OnAutoTxtEvent(EventArgs *pEvt);
2、在【你的窗口类文件.cpp】中:
void CMainDlg::OnAutoTxtEvent(EventArgs *pEvt)
{
//双击事件处理
}
【结束】
1、这样,所有基于SWindow基类的控件,都可以绑定【双击事件】了。
2、以上这样改法,总感觉哪里不妥。
|
|