網(wǎng)上有很多關(guān)于pos機(jī)的滾動(dòng)條掉了怎么辦,混合符號(hào)運(yùn)算的問(wèn)題的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)的滾動(dòng)條掉了怎么辦的問(wèn)題,今天pos機(jī)之家(www.tjfsxbj.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機(jī)的滾動(dòng)條掉了怎么辦
一個(gè)小問(wèn)題當(dāng)你嘗試調(diào)整一個(gè)窗口的大小時(shí),你會(huì)發(fā)現(xiàn)在屏幕的底部會(huì)出現(xiàn)一條很小的線。通常這不是個(gè)大問(wèn)題,但是當(dāng)你在一個(gè)列表里滾動(dòng)內(nèi)容到列表的最后一行時(shí),例如,你按下了End按鍵。這個(gè)時(shí)候,你會(huì)注意到有一塊黑色的空白區(qū)域出現(xiàn)在底部。當(dāng)這個(gè)黑色區(qū)域十分靠近上面所說(shuō)的線時(shí),用戶會(huì)覺(jué)得十分奇怪,而當(dāng)用戶也是一位程序員時(shí),他會(huì)覺(jué)著:是不是繪制代碼里少加(減)了個(gè)1?
解決方法我們可以通過(guò)將窗口大小強(qiáng)行設(shè)置為列表行的整數(shù)倍來(lái)解決此問(wèn)題。就像添加滾動(dòng)條一樣,這只是一個(gè)基本的思路,完全實(shí)現(xiàn)它還是需要花一些功夫的。
進(jìn)一步的,我們的想法是控制窗口的Resize代碼使其能夠在調(diào)整大小時(shí)取整。為了實(shí)現(xiàn)這個(gè)想法,我們需要修改的代碼位置是:WM_WINDOWPOSCHANGING消息處理函數(shù)。這個(gè)函數(shù)可以在窗口實(shí)際移動(dòng)之前進(jìn)行前期調(diào)整。另外,這還可以避免窗口閃爍的問(wèn)題。
接下來(lái),我們會(huì)實(shí)現(xiàn)一個(gè)幫助函數(shù),如下所示(這個(gè)函數(shù)十分有用):
在WM_WINDOWPOSCHANGNG消息處理中,它會(huì)檢查窗口大小是否正在發(fā)生改變,我們會(huì)在這個(gè)消息處理代碼中添加以下邏輯:調(diào)整窗口的大小使其可以取得客戶區(qū)域的整數(shù)值。
WM_WINDOWPOSCHANGNG消息處理代碼關(guān)于第6章節(jié)里提出的問(wèn)題在上一章節(jié)我提到過(guò)兩個(gè)問(wèn)題,很抱歉,第一個(gè)問(wèn)題我的表述錯(cuò)誤,我不應(yīng)該問(wèn)為什么需要對(duì)dLines進(jìn)行整型轉(zhuǎn)換,而是應(yīng)該問(wèn):為什么要對(duì)g_iWheelCarryover進(jìn)行整型轉(zhuǎn)換?
以上問(wèn)題的答案是:這個(gè)整型轉(zhuǎn)換主要是確保整個(gè)計(jì)算過(guò)程是以帶符號(hào)整數(shù)來(lái)進(jìn)行。如果不進(jìn)行整型轉(zhuǎn)換,則計(jì)算將會(huì)變成無(wú)符號(hào)整數(shù)計(jì)算(當(dāng)一個(gè)表達(dá)式中混合了帶符號(hào)和無(wú)符號(hào)時(shí),系統(tǒng)將進(jìn)行無(wú)符號(hào)計(jì)算)。dLines是一個(gè)帶符號(hào)整數(shù),讓我們假設(shè)它是-1。dLines乘以WHEEL_DELTA將得到-120。此時(shí),如果將這個(gè)-120轉(zhuǎn)換為無(wú)符號(hào)整數(shù),你將會(huì)得到一個(gè)十分巨大的值(超過(guò)40億)。然后再除以u(píng)Scroll(典型值為3),則會(huì)得到一個(gè)超過(guò)10億的數(shù)字,這顯然是不正確的。
針對(duì)第二個(gè)問(wèn)題:如果你手頭沒(méi)有一個(gè)高精度滾輪鼠標(biāo),你會(huì)如何測(cè)試半滾動(dòng)時(shí)代碼是否能正常工作?
答案很簡(jiǎn)單:你只需要在OnMouseWheel函數(shù)的開(kāi)頭添加如下代碼即可。
/*******************************************************zDelta /= 4*******************************************************/
總結(jié)程序員朋友,請(qǐng)?zhí)貏e注意:混合無(wú)符號(hào)和帶符號(hào)的整數(shù)運(yùn)算時(shí),所可能產(chǎn)生的奇異結(jié)果。
以上就是關(guān)于pos機(jī)的滾動(dòng)條掉了怎么辦,混合符號(hào)運(yùn)算的問(wèn)題的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)的滾動(dòng)條掉了怎么辦的知識(shí),希望能夠幫助到大家!
