常用的DuiLib的消息类型

1、常用的DuiLib的消息类型

  • DUI_MSGTYPE_WINDOWINIT: 窗口初始化消息,用于在窗口创建后执行初始化操作。DUI_MSGTYPE_WINDOWINIT是一个消息类型,用于在窗口初始化时发送消息。当窗口被创建并准备好显示时,可以使用这个消息类型来执行一些初始化操作。
  • DUI_MSGTYPE_CLICK: 鼠标点击消息,用于处理鼠标左键点击事件。DUI_MSGTYPE_CLICK是另一个消息类型,它用于处理鼠标点击事件。当用户点击窗口中的某个控件或区域时,可以使用这个消息类型来触发相应的处理逻辑。
  • DUI_MSGTYPE_SELECTCHANGED: 选择变化消息,用于处理选择控件(如列表框、下拉框)选项变化事件。
  • DUI_MSGTYPE_ITEMCLICK: 子项点击消息,用于处理子项(如列表框、树状列表)点击事件。
  • DUI_MSGTYPE_TEXTCHANGED: 文本变化消息,用于处理文本框内容变化事件。
  • DUI_MSGTYPE_TIMER: 定时器消息,用于在指定时间间隔执行定时任务。
  • DUI_MSGTYPE_KEYDOWNDUI_MSGTYPE_KEYUP: 键盘按键消息,用于处理键盘按键事件。
  • DUI_MSGTYPE_COMMAND: 自定义命令消息,用于处理自定义的消息类型。
  • DUI_MSGTYPE_SCROLL: 滚动消息,用于处理滚动条滚动事件。
  • DUI_MSGTYPE_SETFOCUSDUI_MSGTYPE_KILLFOCUS: 焦点消息,用于处理控件获得或失去焦点事件。

这些只是一些常见的DuiLib消息类型示例,实际上DuiLib还提供了更多的消息类型,可以根据具体需求选择和使用。

void CContainerDlg::Notify(TNotifyUI& msg)
{
    
    
	//
	if (msg.sType == DUI_MSGTYPE_CLICK)
	{
    
    
		if (msg.pSender == m_pCloseBtn)
		{
    
    
			CefModule::CefManager::GetInstance()->PostQuitMessage(0);
			m_pCefControl->CloseAllBrowser();
			m_pSDOLogin->CloseLoginDialog();
			this->Close();
		}
		else if (msg.pSender == m_pSettingBtn)
		{
    
    
			wstring strExe = GAME_DIR L"wooolcfg.exe";
			PROCESS_INFORMATION pi = {
    
     0 };
			STARTUPINFO si = {
    
     0 };
			si.cb = sizeof(si);
			BOOL ret = CreateProcess(nullptr, (LPWSTR)strExe.c_str(), nullptr, nullptr, FALSE, 0, nullptr, nullptr, &si, &pi);
			if (ret)
			{
    
    
				CloseHandle(pi.hProcess);
				CloseHandle(pi.hThread);
			}
		}
		else if (msg.pSender == m_pHideLoginDialogBtn)
		{
    
    

			//MessageBox(NULL, L"1", L"1", MB_OK);
			m_pSDOLogin->SetLoginDialogState(2);
			//MessageBox(NULL, L"2", L"2", MB_OK);
		}
		else if (msg.pSender == m_pShowLoginDialogBtn)
		{
    
    
			//MessageBox(NULL, L"3", L"3", MB_OK);
			m_pSDOLogin->SetLoginDialogState(1);
			//MessageBox(NULL, L"4", L"4", MB_OK);
		}
	}
	else if (msg.sType == DUI_MSGTYPE_WINDOWINIT)
	{
    
    
		if (m_pSDOLogin != nullptr && m_pLoginFrameArea != nullptr)
		{
    
    
			m_pSDOLogin->ShowLoginDialog(LoginCallback, 0, 0);
			MoveLoginFrame();
		}
	}

	if (m_pAreaTypeSwitch != nullptr)
	{
    
    
		m_pAreaTypeSwitch->Notify(msg);
	}
}

2、定义所有消息类型

  • #define DUI_MSGTYPE_MENU (_T(“menu”))

  • #define DUI_MSGTYPE_LINK (_T(“link”))

  • #define DUI_MSGTYPE_TIMER (_T(“timer”))

  • #define DUI_MSGTYPE_CLICK (_T(“click”))

  • #define DUI_MSGTYPE_RETURN (_T(“return”))

  • #define DUI_MSGTYPE_SCROLL (_T(“scroll”))

  • #define DUI_MSGTYPE_DROPDOWN (_T(“dropdown”))

  • #define DUI_MSGTYPE_SETFOCUS (_T(“setfocus”))

  • #define DUI_MSGTYPE_KILLFOCUS (_T(“killfocus”))

  • #define DUI_MSGTYPE_ITEMCLICK (_T(“itemclick”))

  • #define DUI_MSGTYPE_TABSELECT (_T(“tabselect”))

  • #define DUI_MSGTYPE_ITEMSELECT (_T(“itemselect”))

  • #define DUI_MSGTYPE_ITEMEXPAND (_T(“itemexpand”))

  • #define DUI_MSGTYPE_WINDOWINIT (_T(“windowinit”))

  • #define DUI_MSGTYPE_BUTTONDOWN (_T(“buttondown”))

  • #define DUI_MSGTYPE_MOUSEENTER (_T(“mouseenter”))

  • #define DUI_MSGTYPE_MOUSELEAVE (_T(“mouseleave”))

  • #define DUI_MSGTYPE_TEXTCHANGED (_T(“textchanged”))

  • #define DUI_MSGTYPE_HEADERCLICK (_T(“headerclick”))

  • #define DUI_MSGTYPE_ITEMDBCLICK (_T(“itemdbclick”))

  • #define DUI_MSGTYPE_SHOWACTIVEX (_T(“showactivex”))

  • #define DUI_MSGTYPE_ITEMCOLLAPSE (_T(“itemcollapse”))

  • #define DUI_MSGTYPE_ITEMACTIVATE (_T(“itemactivate”))
    -#define DUI_MSGTYPE_VALUECHANGED (_T(“valuechanged”))

  • #define DUI_MSGTYPE_SELECTCHANGED (_T(“selectchanged”))

猜你喜欢

转载自blog.csdn.net/qq_44918090/article/details/131718750