新聞中心

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

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

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

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

        2. 顯示或隱藏光標(biāo)
        中斷33h的功能1和2分別置鼠標(biāo)光標(biāo)為“打開”和“關(guān)閉”。而鼠標(biāo)驅(qū)動程序一直跟蹤鼠標(biāo)的移動,當(dāng)鼠標(biāo)移動時就更新它在屏幕的位置。
        鼠標(biāo)的程序從開始通常在打開光標(biāo),一直到程序結(jié)束。
        鼠標(biāo)驅(qū)動程序采用光標(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ù)值時就隱藏光標(biāo)。

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

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

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

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

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

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

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

        中斷33h 功能Bh報告自從上次調(diào)用該功能后,鼠標(biāo)移動的實際距離(測量單位為米基)。該功能在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) 操作方式

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 万安县| 沐川县| 渑池县| 基隆市| 漾濞| 上蔡县| 靖远县| 海阳市| 富蕴县| 塘沽区| 平遥县| 绥化市| 潮安县| 阳朔县| 屏山县| 东安县| 左云县| 临江市| 寿阳县| 米林县| 连平县| 凤台县| 买车| 通海县| 浮梁县| 本溪市| 广宗县| 广东省| 太康县| 南皮县| 合山市| 莎车县| 桑植县| 斗六市| 莆田市| 华阴市| 屏东市| 阿合奇县| 通化县| 湘乡市| 分宜县|