diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp')
| -rw-r--r-- | Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp b/Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp new file mode 100644 index 00000000..d00762b8 --- /dev/null +++ b/Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp @@ -0,0 +1,109 @@ +#include "stdafx.h" +#include "XUI_Ctrl_PassThroughList.h" + +HRESULT CXuiCtrlPassThroughList::OnInit(XUIMessageInit *pInitData, BOOL& bHandled) +{ + return S_OK; +} + +HRESULT CXuiCtrlPassThroughList::OnKeyDown(XUIMessageInput* pInputData, BOOL& bHandled) +{ + XUIMessage message; + XUIMessageInput messageInput; + HRESULT hr; + HXUIOBJ hObj; + + XuiMessageInput( &message, &messageInput, XUI_KEYDOWN, pInputData->dwKeyCode, pInputData->wch, pInputData->dwFlags, pInputData->UserIndex ); + + hr = GetParent(&hObj); + + if (HRESULT_SUCCEEDED(hr)) + { + hr = XuiBubbleMessage(hObj, &message); + + if (message.bHandled) + { + bHandled = TRUE; + } + } + + return S_OK; +} + +// Gets called every frame +HRESULT CXuiCtrlPassThroughList::OnGetSourceDataText(XUIMessageGetSourceText *pGetSourceTextData,BOOL& bHandled) +{ + XUIMessage Message; + XUIMessageGetSourceText MsgGetText; + HRESULT hr; + HXUIOBJ hObj; + + + XuiMessageGetSourceText(&Message, &MsgGetText, pGetSourceTextData->iItem, pGetSourceTextData->iData, pGetSourceTextData->bItemData); + + hr = GetParent(&hObj); + + if (HRESULT_SUCCEEDED(hr)) + { + hr = XuiBubbleMessage(hObj, &Message); + + if (Message.bHandled) + { + pGetSourceTextData->szText = MsgGetText.szText; + bHandled = TRUE; + } + } + return S_OK; +} + +// Gets called every frame +HRESULT CXuiCtrlPassThroughList::OnGetSourceDataImage(XUIMessageGetSourceImage *pGetSourceImageData,BOOL& bHandled) +{ + XUIMessage Message; + XUIMessageGetSourceImage MsgGetImage; + HRESULT hr; + HXUIOBJ hObj; + + + XuiMessageGetSourceImage(&Message, &MsgGetImage, pGetSourceImageData->iItem, pGetSourceImageData->iData, pGetSourceImageData->bItemData); + + hr = GetParent(&hObj); + + if (HRESULT_SUCCEEDED(hr)) + { + hr = XuiBubbleMessage(hObj, &Message); + + if (Message.bHandled) + { + pGetSourceImageData->szPath = MsgGetImage.szPath; + bHandled = TRUE; + } + } + return S_OK; +} + +HRESULT CXuiCtrlPassThroughList::OnGetItemCountAll(XUIMessageGetItemCount *pGetItemCountData,BOOL& bHandled) +{ + XUIMessage Message; + XUIMessageGetItemCount MsgGetItemCountAll; + HRESULT hr; + HXUIOBJ hObj; + + + XuiMessageGetItemCount(&Message, &MsgGetItemCountAll, XUI_ITEMCOUNT_ALL); + + hr = GetParent(&hObj); + + if (HRESULT_SUCCEEDED(hr)) + { + hr = XuiBubbleMessage(hObj, &Message); + + if (Message.bHandled) + { + pGetItemCountData->cItems = MsgGetItemCountAll.cItems; + bHandled = TRUE; + } + } + bHandled = TRUE; + return S_OK; +}
\ No newline at end of file |
