pos機(jī)的滾動(dòng)條掉了怎么辦

 新聞資訊2  |   2023-08-06 17:38  |  投稿人:pos機(jī)之家

網(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)看下吧!

本文目錄一覽:

1、pos機(jī)的滾動(dòng)條掉了怎么辦

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í),希望能夠幫助到大家!

轉(zhuǎn)發(fā)請(qǐng)帶上網(wǎng)址:http://www.tjfsxbj.com/newsone/95209.html

你可能會(huì)喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。