aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp')
-rw-r--r--Minecraft.Client/Common/XUI/XUI_Ctrl_PassThroughList.cpp109
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