国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
圖標(biāo)和光標(biāo)(1) - 靈魂網(wǎng)絡(luò)

圖標(biāo)和光標(biāo)是圖形資源,圖標(biāo)通常用做應(yīng)用程序的“形象代表”出現(xiàn)在文件瀏覽器、運(yùn)行窗口左上角或程序的快捷方式等所有代表文件的地方,為自己寫的應(yīng)用程序選一個合適的圖標(biāo)會使程序變得引人注目;而光標(biāo)就是鼠標(biāo)移動時屏幕上那個指示位置的東西,應(yīng)用程序可以定義自己的光標(biāo),這樣光標(biāo)移到程序的客戶區(qū)中就會變成需要的形狀。

5.2.1 圖標(biāo)和光標(biāo)的資源定義

和菜單、加速鍵等資源不同,在資源腳本文件中定義圖標(biāo)和光標(biāo)時并不是一個個像素地定義,而是指定圖標(biāo)和光標(biāo)的文件名,由資源編譯器將像素數(shù)據(jù)讀入再轉(zhuǎn)換成二進(jìn)制格式,所以在資源定義之前要用其他工具先創(chuàng)建圖標(biāo)和光標(biāo)文件。圖標(biāo)和靜態(tài)光標(biāo)文件的擴(kuò)展名分別是ico和cur,還有一種擴(kuò)展名為ani的動態(tài)光標(biāo)文件。

光標(biāo)和圖標(biāo)在資源文件中的定義語句是:

圖標(biāo)ID ICON [DISCARDABLE] 圖標(biāo)文件名  ;定義圖標(biāo)

光標(biāo)ID CURSOR [DISCARDABLE] 光標(biāo)文件名   ;定義光標(biāo)

DISCARDABLE關(guān)鍵字是內(nèi)存選項,表示在不用的時候可以從內(nèi)存暫時卸掉,當(dāng)文件名包含空格時,兩邊要用雙引號引起來,圖標(biāo)ID和光標(biāo)ID同樣也可以用16位的整數(shù)或字符串表示,這里是幾個定義的例子:

MyIcon icon “1.ico”   ;把1.ico定義為ID為“MyIcon”的圖標(biāo)資源

1000 icon discardable 2.ico ;把2.ico定義為ID為1000的圖標(biāo)資源

1001 icon “big icon.ico”  ;把big icon.ico定義為ID為1001的圖標(biāo)資源

1002 cursor “big arrow.ani” ;把big arrow.ani定義為ID為1002的光標(biāo)資源

GoodCursor cursor arrow.cur ;把a(bǔ)rrow.cur定義為ID為“GoodCursor”的光標(biāo)資源

 

資源文件中定義的圖標(biāo)可以不止一個,但Windows在“我的電腦”中列出文件的時候總是使用資源中的第一個圖標(biāo)當(dāng)做文件的圖標(biāo),所以在資源腳本文件中要把想用做程序圖標(biāo)的圖標(biāo)定義語句排在最前面。

 

5.2.2 使用圖標(biāo)和光標(biāo)

在這里,用一個例子來說明圖標(biāo)和光標(biāo)的用法,程序是建立在FirstWindow.asm和Menu.asm程序的基礎(chǔ)上的,為了節(jié)省篇幅,在這里就不列出全部源程序了,完整的源程序可以在所附光盤的Chapter05\Icon目錄中找到。程序中創(chuàng)建了一個菜單,運(yùn)行后可以在“圖標(biāo)和光標(biāo)”菜單中選擇不同的圖標(biāo)和光標(biāo),選擇不同的圖標(biāo)以后,窗口標(biāo)題欄左邊的圖標(biāo)和桌面任務(wù)欄上的窗口圖標(biāo)都會變化;選擇不同的光標(biāo)后,當(dāng)鼠標(biāo)移動到窗口客戶區(qū)中的時候,光標(biāo)會變成程序指定的光標(biāo)。具體的效果如圖5.3所示,大圖標(biāo)對應(yīng)“笑臉”,小圖標(biāo)對應(yīng)“箭頭”,而光標(biāo)A和B分別是“小恐龍”光標(biāo)和“手型”光標(biāo),其中“小恐龍”光標(biāo)是ani類型的動態(tài)光標(biāo),在屏幕上顯示為一個走動中的恐龍模樣。



圖5.3 不同的圖標(biāo)和光標(biāo)

資源文件Icon.rc的定義如下:

//>>

#include   <resource.h>

//>>

#define  ICO_BIG   Ox1000

#define  ICO_SMALL   Ox1001

#define  CUR_2   Ox1000

#define  IDM_MAIN   Ox2000

#define  IDM_EXIT   Ox2101

#define  IDM_BIG   Ox2201

#define  IDM_SMALL   Ox2202

#define  IDM_CUR1  Ox2203

#define  IDM_CUR2  Ox2204

//>>

ICO_SMALL   ICON  "Small.ico"

ICO_BIG  ICON  "Big.ico"

CUR_2  CURSOR  "2.cur"

//>>

IDM_MAIN menu  discardable

BEGIN

   popup   "文件(&F)"

   BEGIN

  menuitem  "退出(&X)",  IDM_EXIT

   END

   popup   "圖標(biāo)和光標(biāo)(&I)"

   BEGIN

  menuitem  "大圖標(biāo)(&G)",  IDM_BIG

  menuitem  "小圖標(biāo)(&M)",  IDM_SMALL

  menuitem  separator

  menuitem  "光標(biāo)A(&A)",  IDM_CUR1

  menuitem  "光標(biāo)B(&B)",  IDM_CUR2

   END

END

//>>

經(jīng)過上一節(jié)的“洗禮”,讀者對菜單的定義應(yīng)該很熟悉了,這里就不再說明IDM_MAIN的定義了,腳本文件中定義了ICO_SMALL,ICO_BIG兩套圖標(biāo)和CUR_2靜態(tài)光標(biāo),磁盤上還有個動態(tài)光標(biāo)文件1.ani。

Icon.asm的大部分是窗口模板程序的內(nèi)容,和FirstWindow.asm是相同的,僅在窗口過程的WM_CREATE和WM_COMMAND增加了一些內(nèi)容:

  .const

szCursorFile db   '1.ani',0

  .code

  …

   .if  eax == WM_CREATE

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《C語言到底能干什么》1.8 資源的初步深入
恢復(fù)Ico圖標(biāo)文件在資源管理器中的顯示
運(yùn)行時顯示自己定義的圖標(biāo)
編譯資源進(jìn)入可執(zhí)行程序
第一個存儲過程
Cursor:url()的使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服