新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 鼠標(biāo)的操作方式

        鼠標(biāo)的操作方式

        作者: 時(shí)間:2012-04-16 來源:網(wǎng)絡(luò) 收藏

        用匯編語言對的各項(xiàng)操作進(jìn)行描述的,也可以用C、C++等其他語言來描述。
        1. 初始化驅(qū)動(dòng)程序:
        例如:中斷號(hào)INT33h 功能16h 子功能17h
        中斷號(hào):用于請求服務(wù)
        功能號(hào):用于確定用戶期望獲取哪種服務(wù)
        子功能號(hào):進(jìn)一步指定所希望的服務(wù)
        調(diào)用寄存器:設(shè)置被調(diào)用的服務(wù)功能所要求的參數(shù)
        返回寄存器:返回服務(wù)功能執(zhí)行結(jié)果
        調(diào)用的進(jìn)程:設(shè)置參數(shù) 中斷號(hào)INT33h 功能15h BX寄存器 ES:DX 功能16h 功能17h ES:DX

        2. 顯示或隱藏光標(biāo)
        中斷33h的功能1和2分別置鼠標(biāo)光標(biāo)為“打開”和“關(guān)閉”。而鼠標(biāo)驅(qū)動(dòng)程序一直跟蹤鼠標(biāo)的移動(dòng),當(dāng)鼠標(biāo)移動(dòng)時(shí)就更新它在屏幕的位置。
        鼠標(biāo)的程序從開始通常在打開光標(biāo),一直到程序結(jié)束。
        鼠標(biāo)驅(qū)動(dòng)程序采用光標(biāo)標(biāo)記,用做顯示和隱藏光標(biāo)的分層方法。初次打開光標(biāo)標(biāo)記設(shè)為-1;功能1將標(biāo)記加至0,使光標(biāo)出現(xiàn)。功能2將標(biāo)記減1,當(dāng)標(biāo)記為負(fù)值時(shí)就隱藏光標(biāo)。

        3. 設(shè)置文本鼠標(biāo)光標(biāo)的形狀
        在以視頻文本模式工作時(shí),鼠標(biāo)驅(qū)動(dòng)程序生成兩類光標(biāo):
        (1)硬件光標(biāo),由視頻硬件所產(chǎn)生的常規(guī)屏幕光標(biāo),由水平掃描線組成。
        (2)軟件或?qū)傩怨鈽?biāo),這種情況下,鼠標(biāo)驅(qū)動(dòng)程序在光標(biāo)出現(xiàn)的屏幕位置寫數(shù)據(jù)。驅(qū)動(dòng)程序在改變此位置顯示的字符或改變字符屬性,使它閃爍、背景色等。
        (3)中斷33h的功能Ah設(shè)置文本光標(biāo)的類型:AX存放功能號(hào);BX存放應(yīng)光標(biāo)或軟件光標(biāo)選擇;CX存放起始掃描線;DX存放終止掃描線。

        4. 設(shè)置圖形鼠標(biāo)光標(biāo)的形狀

        中斷33h的功能9h設(shè)置圖形模式下的鼠標(biāo)光標(biāo)的形狀,并定義光標(biāo)里的一個(gè)點(diǎn)為熱點(diǎn)。光標(biāo)由16 x 16位的視頻掩碼和16 x 16位的光標(biāo)掩碼組成。

        5. 取得或設(shè)置鼠標(biāo)光標(biāo)的位置
        中斷33h的功能4h用于設(shè)置鼠標(biāo)光標(biāo)位置,功能3h則用于報(bào)告光標(biāo)的位置。AX存放功能號(hào),CX被賦予X坐標(biāo),DX被賦予Y坐標(biāo)。P200例7-4

        6. 將鼠標(biāo)光標(biāo)限定在屏幕的一部分
        將鼠標(biāo)光標(biāo)可以限制在屏幕的一個(gè)矩形區(qū)域內(nèi),由中斷33h的功能7h設(shè)置鼠標(biāo)光標(biāo)移動(dòng)的水平范圍,8h設(shè)置垂直范圍。P201例7-5

        7. 定義不顯示鼠標(biāo)光標(biāo)的屏幕區(qū)域
        中斷33h的功能10h定義屏幕的一個(gè)區(qū)域,當(dāng)鼠標(biāo)進(jìn)入該區(qū)域時(shí)會(huì)自動(dòng)關(guān)掉。進(jìn)入時(shí),CX存放被保護(hù)域的左列號(hào),SI存放右列號(hào);DX存放首行號(hào),DI存放末行號(hào)。
        例7-6 設(shè)置一個(gè)范圍是從第10~50列和5~30行之間的矩形域。
        MOV AX , 10h ;功能號(hào)
        MOV CX , 10 ;左列
        MOV S I , 50 ;右列
        MOV DX , 5 ;首行
        MOV D I , 30 ;末行
        INT 33h ;調(diào)用中斷設(shè)置域

        8. 跟蹤鼠標(biāo)的移動(dòng)

        中斷33h 功能Bh報(bào)告自從上次調(diào)用該功能后,鼠標(biāo)移動(dòng)的實(shí)際距離(測量單位為米基)。該功能在CX中返回相對的水平位移;DX中返回相對的垂直位移。例7-7 查詢鼠標(biāo)光標(biāo)的相對位移。
        MOV AX , 0Bh
        INT 33h
        MOV HORZ_MOTION , CX
        MOV VERT_MOTION , DX


        上一頁 1 2 下一頁

        關(guān)鍵詞: 鼠標(biāo) 操作方式

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 健康| 河东区| 九龙坡区| 十堰市| 万州区| 广西| 方城县| 长沙县| 苗栗市| 依安县| 儋州市| 武宣县| 辉县市| 九龙县| 枣庄市| 无为县| 呼图壁县| 报价| 玛多县| 泸州市| 海门市| 吴堡县| 龙川县| 南溪县| 漯河市| 平山县| 龙山县| 商城县| 奎屯市| 琼海市| 共和县| 灯塔市| 禄丰县| 天气| 申扎县| 深州市| 孝感市| 永胜县| 都兰县| 新宾| 札达县|