harib08a:
  鼠標的顯示問題:我們可以看到,鼠標移到窗口最右側之后就不能再移動了,而WIN中,鼠標是可以移動到最右邊隱藏起來的。怎么辦?把鼠標指針顯示的范圍擴寬就行!我們來修改一下HariMain來解決這個問題

//HariMain節(jié)選if (mx > binfo->scrnx - 1) {    mx = binfo->scrnx - 1;    }//拓寬到右邊界左邊的一個像素if (my > binfo->scrny - 1) {    my = binfo->scrny - 1;    }//拓寬到下邊界上方的一個像素

harib08b:
  我們發(fā)現(xiàn)圖層到了畫面外,就會出現(xiàn)問題。這里我們一起來吧sheet_refreshsub()函數(shù)進行改進,讓它不刷新畫面以外的內(nèi)容。
  方   法:在進行畫面刷新之前,先判斷是否已經(jīng)超過了畫面以外,超過畫面外的部分不需要進行刷新操作(下面是關鍵部分的代碼)

//sheet.c中sheet_refreshsub()節(jié)選//判斷,刷新像素的范圍是否超出了畫面if (bx0 < 0) { bx0 = 0; }if (by0 < 0) { by0 = 0; }if (bx1 > sht->bxsize) { bx1 = sht->bxsize; }if (by1 > sht->bysize) { by1 = sht->bysize; }

harib08c:
  我們發(fā)現(xiàn)在圖層移動sheet_undown()中指定ctl太麻煩,于是在這一部分對此做了一些修改,目的就是不在sheet_undown()中指定ctl.
  1、struct SHEET中加入struct SHTCTL *ctl

//在圖層的結構體定義struct SHEET中,加入圖層控制結構體指針struct SHT
        
		

網(wǎng)友評論