CEGUI 텍스트 하이퍼링크 구현
4012 단어 GUI
방법1 이거 쉬워요. 필요한 곳에 윈도우를 넣고 그림이나 글씨를 붙여요. 마음대로 하세요.
function AddChatNameBtnLua(channelSize,nameSize,strChat)
local winMgr = CEGUI.WindowManager:getSingleton()
local btn = winMgr:createWindow("feitan_G/Button", "_chatName_btn_"..g_NameNum)
if btn~=nil then
--print("channelSize",channelSize,"nameSize",nameSize,"strchat",strChat)
g_NameNum=g_NameNum+1
local ChatData = ChatTextData:GetInstancePtr()
local strBeforeName=string.sub(strChat,0,channelSize)
local strName=string.sub(strChat,8,8+nameSize-1)
local x = ChatData:GetStringWidth(strBeforeName);
local strWidth=ChatData:GetStringWidth(strName)
local strHeight=20--need to be sent
--print(strBeforeName,strName,"x",x,"width",strWidth)
local rect = string.format("{{0.0,%d},{0.0,0},{0.0,%d},{0.0,%d}}",x,x+strWidth,strHeight)
btn:setProperty("UnifiedAreaRect",rect )
btn:subscribeEvent("MouseButtonUp","TargetNameRC")
local ChatWin = winMgr:getWindow("chatWin"..g_WinIndex)
ChatWin:addChildWindow(btn)
end
end
여기는 한 itemlist에 button을 넣은 루아 코드인데 사실은 계산 위치예요.
문제에 부딪힌 것은 당시에 루아 중string을 몰랐다는 것이다.sub은 Param1에 대해서.
param2에서 param3을 얻는 것이지 param2에서 얻는 것이 아니다
거기가 Param3만큼 길어요.
방법2: 시스템의 복잡한 거시적 방법은formattingtag로link에 대한 해석과 처리를 추가한다
link=123 XXXXXX link=0 모두 link=0으로 마무리
옛날에 npc 한 마리가 배고팠어요. [link='2'] 그는 밀크티 한 잔을 마셨어요. [link='0']
구체적으로 구현된 코드가 너무 복잡해서 시간 나면 붙일게요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AWS RDS의 MariaDB에서 데이터베이스 이름에 하이픈을 사용하려는 경우의 조치MariaDB (Mysql)의 데이터베이스 이름에 하이픈을 넣고 싶다면 CREATE DATABASE를 직접 접으십시오. 이 때 데이터베이스 이름은 백 쿼트로 묶어 보자. AWS RDS의 GUI에서는 "-"가 금지 문...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.