uj5u.com熱心網友回復:
如題,麻煩各位有研究過 Duilib的給解釋一下uj5u.com熱心網友回復:
int nIndex = plist->GetCurSel(); //第一次點擊 回傳-1 后面的每次點擊回傳的都是前一次的indexCListTextElementUI* pListElement = static_cast<CListTextElementUI*>(plist->GetItemAt(nIndex));
uj5u.com熱心網友回復:
你是回應DUI_MSGTYPE_ITEMCLICK 這個通知后獲得么如果是的話,因為它代碼是先發這個通知再選中,所以如你所說一樣
你可以改下代碼或者換種思路實作
uj5u.com熱心網友回復:
這個怎么改比較合適?
uj5u.com熱心網友回復:
應該是事件用錯了,先跟到dui 原始碼層,然后單步跟蹤,可以找到正確的事件,再獲取就可以了,多看下他的原始碼,不難理解。uj5u.com熱心網友回復:
duilib的控制元件在剛點擊完后,立刻獲得數值,回因為數值還沒來得及更新而獲取錯誤,解決方案有兩個,一個是用一個變數來記錄上次的數值,然后根據增加或者減少操作來修改這個數值,第二個辦法是跟到duilib原始碼里,看下index增加的業務處理是在什么地方,然后在這個之后來重新取值,除此之外可能還有一種方法,就是數值的獲取不要放在點擊事件里去做,可以放在別的點擊事件里去專門出發下這個數值的獲取uj5u.com熱心網友回復:
https://blog.csdn.net/qq_37059136/article/details/87871960轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/18542.html
標籤:界面
上一篇:之前編譯時PASS源代碼,現在安裝VC軟體不知道怎么會報這個錯誤求解
下一篇:GetDC得到的設備dc不會更新
