国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

在Delphi中運用自定義光標

在Delphi中運用自定義光標

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

開發者都希望自己的程序有一個友好的界面,此時,一個生動活潑、有表現力的光標就必不可少了。Windows 缺省提供22種標準光標供在程序中調用,但對一個求新求變的程序員來說,標準光標就不能滿足要求了,需要使用自己的光標,那么,在程序中怎樣使用自己的光標呢?

  ●光標資源的獲得

  要使用自定義光標,必須先得到這些光標。光標文件有兩種:靜態光標(.cur)和動態光標(.ani)。你可以使用現成的光標文件,比如Delphi 自帶的一組光標文件(在C:Program FilesBorlandDelphi 3ImagesCursors目錄中),如果你安裝了Windows98的桌面主題,則可在Windowsplus! 目錄下找到許多光標文件。你也可以自己創建光標文件,比如使用Delphi自帶的Image Editor 就可創建靜態光標文件(.cur),但Image Editor不能創建彩色光標,要創建彩色光標,必須使用其它工具,如Vc++ 的資源編輯器。動態光標則必須使用專門的工具軟件制作,使用動態光標可達到光標的動畫效果,動態光標文件的文件結構與AVI文件結構相似,由文字描述區、信息區、時間控制區、數據區四部分構成。Windows通過按文件時間控制區中指定的時間一幀幀播放文件數據區中包含的光標或圖標圖像來實現動畫效果。

  其實,分析文件結構可以發現,靜態光標文件(.cur)與圖標文件(.ico)結構非常類似,兩種文件的主要差別僅在于文件頭的文件識別碼和是否存在跟蹤點(Hot Spot)。文件識別碼放在文件的頭三個字節,圖標文件為00 00 01,光標文件為00 00 02;圖標文件沒有跟蹤點,光標文件的跟蹤點信息放在文件的00 0A-00 0D 四個字節中,00 0A - 00 0B記錄跟蹤點的X 坐標,00 0C-00 0D 記錄Y 坐標,記錄順序都是高位在前,低位在后,圖標文件的00 0A-00 0D 為保留位。知道了兩者的差異,你就可以通過手工或編一個小程序來實現圖標文件到光標文件的轉換。相對于光標文件來說,圖標文件要好找得多,顏色上也更豐富。

  除了光標文件外,你也可以創建資源文件(.res ),在資源文件中包含光標資源, Delphi 同樣可在程序中調用。可使用Image Editor 或Microsoft的資源編輯器創建資源文件(推薦使用Vc++的資源編輯器)。Delphi 缺省為每一個項目創建一個與項目名同名的資源文件,如你的項目名為test.dpr ,則資源文件名為test.res。但你如果把光標放在這個文件中,在程序中是無法調用的,必須創建自己的資源文件。在給光標資源命名時注意不要與已有的資源重名,創建好后,再在程序中使用編譯指令$R將資源文件加在程序中,如資源文件為my.res,則在主窗體的Implementation下加上一行{$R my.res} 就可以了。

  ●自定義光標在程序中的使用

  Delphi 使用自定義光標是通過調用Windows的API函數實現的。Delphi 的Screen 對象定義有一個Cursors 屬性,屬性聲明為Property Cursors[Index:Interger]:Hcursor;Cursors屬性實際記錄了應用程序中使用的全部光標資源的句柄,Index 為每項資源的索引號。Delphi缺省提供的22種光標資源也在其中,Index值為-21~0。要使用自己的光標,首先可調用API函數 Loadcursorfromfile(對于光標文件)或使用Loadcursor(對于資源文件)獲得相應光標的句柄,這兩個函數都定義在Windows單元中,函數聲明為:

  Function LoadCursorFromFile(lpFileName:PAnsiChar):HCURSOR;stdcall;

  //lpFilename為光標文件名。(兩種光標都適用,只需具體指定光標文件名就可以了。)

  Function LoadCursor(hInstance: HINST; lpCursorName: PAnsiChar): HCURSOR; stdcall;

  //hInstance為應用程序的句柄,lpCursorName為光標資源的名字。在資源文件中只能包含靜態光標資源,資源文件不支持動態光標這種格式的資源。兩個函數的詳細說明可參考Delphi的Win32幫助。

  得到光標的句柄后,將這個句柄值添加到Cursors數組中,注意Index不要與已有的索引號重復,否則將覆蓋已有的光標。要使用這個光標時,只要將該光標的Index賦值給元件的Cursor屬性就可以了,Delphi根據這個索引號查找Cursors數組,找到該光標的句柄,并用Setcursor函數將這個句柄賦給元件。需要指出的是,程序結束時,不必調用Deletecursor函數釋放光標資源,Delphi會自動釋放它們。

  ●程序示例

  unit Unit1;

  interface

  uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

  type

   TForm1 = class(TForm)

        procedure FormCreate(Sender: TObject);

   private

    { Private declarations }

   public

    { Public declarations }

   end;

  var

   Form1: TForm1;

  implementation

  {$R *.DFM}

  {$R my.res}//加載資源文件my.res

  procedure TForm1.FormCreate(Sender: TObject);

  const

  crmy1=1;

  crmy2=2;

  crmy3=3;

  var

  result1,result2,result3:integer;

  begin

     result1:=loadcursorfromfile(′my.cur′);

   if result1<>0 then //如果返回值為0,則調用失敗!

   screen.cursors[crmy1]:=result1

   else

   showmessage(′加載靜態光標文件出錯!′);

   result2:=loadcursorfromfile(′my.ani′);

   if result2<>0 then

   screen.cursors[crmy2]:=result2

   else

   showmessage(′加載動態光標文件錯誤!′);

   result3:=loadcursor(Hinstance,′mycursor′);

  Hinstance為定義在System單元中的一個長整變量,其值為應用程序的句柄,由Delphi自己維護。

  在加載資源文件的光標資源時,如果光標的名字為整數(Vc++的資源編輯器給資源的缺省名就為整數),就必須使用API函數Makeintresource將整數轉換為PansiChar類型,再傳遞給Loadcursor函數。

  例如:result:=Loadcursor(Hinstance,Makeintresource(101))}

   if result3<>0 then

   screen.cursors[crmy3]:=result3

   else

   showmessage(′加載資源文件中的光標資源出錯!′);

  //使用加載的光標,cursors[]數組為全局變量,可在程序的任何地方調用;

   if result1<>0 then

   screen.cursor:=crmy1;

   if result2<>0 then

   form1.cursor:=crmy2;

     if result3<>0 then

   screen.cursor:=crmy3;

  end;

  end.

  程序在Windows95 ,Delphi3.0中調試通過。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        成人黄色电影在线 | 91免费看`日韩一区二区| 日韩在线一区二区| 亚洲成人免费影院| 夜夜亚洲天天久久| 亚洲日本一区二区三区| 国产女人18毛片水真多成人如厕 | 国产女主播一区| 奇米在线7777在线精品| 欧美视频在线不卡| 综合av第一页| 久久99久久精品欧美| eeuss鲁一区二区三区| 91麻豆精品国产91久久久更新时间| 久久国产精品免费| 中文字幕电影一区| 日韩精品91亚洲二区在线观看| 精品在线播放免费| 亚洲国产另类av| 欧美高清视频一二三区| 中文字幕欧美激情| 欧美日韩一级视频| 国产福利一区在线| 亚洲动漫第一页| 亚洲美女精品一区| 日本一不卡视频| 91在线视频官网| 日韩中文字幕亚洲一区二区va在线| 亚洲人午夜精品天堂一二香蕉| ...中文天堂在线一区| 精品在线一区二区三区| 成人av在线电影| av在线综合网| 欧美亚洲禁片免费| 成人一区二区三区在线观看| 国产传媒欧美日韩成人| 欧美成人精精品一区二区频| 亚洲男人的天堂一区二区| 国产成人8x视频一区二区 | 国产美女av一区二区三区| 欧美成人三级在线| 天堂久久一区二区三区| 色国产精品一区在线观看| 555www色欧美视频| 国产精品二三区| 精品无人码麻豆乱码1区2区| 国产91清纯白嫩初高中在线观看| 色综合中文字幕国产 | 日韩精品一区二区三区在线观看| 欧美一级在线观看| 国产在线播放一区二区三区| 天天综合天天综合色| 国产精品888| 久久综合久久综合久久| 972aa.com艺术欧美| 99re亚洲国产精品| 国产精品色婷婷| 免费高清在线一区| 国产精品久久久久毛片软件| 国产成人在线网站| 日韩三级伦理片妻子的秘密按摩| www.66久久| 丁香激情综合五月| 国产乱子伦视频一区二区三区| 裸体一区二区三区| av在线这里只有精品| 欧美国产精品专区| 激情久久五月天| 欧美电影免费观看高清完整版在线 | 国产精品国产三级国产有无不卡 | 欧美猛男男办公室激情| 国产精品福利影院| 欧美成人性福生活免费看| av在线一区二区三区| 午夜激情综合网| 国产日韩欧美精品电影三级在线 | 国产成a人亚洲| 捆绑变态av一区二区三区| 国产欧美一区二区精品久导航| 97久久人人超碰| 日本 国产 欧美色综合| 欧美国产1区2区| 日韩欧美一级二级三级久久久| 麻豆国产精品视频| 欧美一区二区啪啪| 久久精品国产秦先生| 丝袜诱惑亚洲看片| 国产精品亚洲а∨天堂免在线| 免费观看成人av| 国内偷窥港台综合视频在线播放| 久久成人18免费观看| 美国av一区二区| 麻豆freexxxx性91精品| 天天免费综合色| 亚洲成a人v欧美综合天堂下载 | 亚洲一区二区3| www欧美成人18+| 精品国产不卡一区二区三区| 91久久精品国产91性色tv| 99久久国产免费看| 一区二区三区四区激情| 国产综合色在线| 色综合久久中文综合久久牛| 欧美日韩另类国产亚洲欧美一级| 欧美中文字幕一区| 欧美挠脚心视频网站| 欧美一区二区视频观看视频| 国产婷婷精品av在线| 在线看一区二区| 亚洲一区在线播放| 精品少妇一区二区三区在线视频| 免费成人av在线播放| 日韩免费观看2025年上映的电影| 欧美aⅴ一区二区三区视频| 色婷婷狠狠综合| 亚洲成人精品影院| 久久久久国产精品麻豆ai换脸 | 经典三级一区二区| 亚洲精品在线三区| 92精品国产成人观看免费| 综合分类小说区另类春色亚洲小说欧美| 99视频在线观看一区三区| 国产亚洲欧美日韩在线一区| 亚洲午夜一区二区三区| 天使萌一区二区三区免费观看| 精品国产乱码久久久久久久 | 精品久久久久久最新网址| 国产成人啪免费观看软件 | 国产精品一区二区三区四区| 91福利精品第一导航| 精品裸体舞一区二区三区| 国内精品久久久久影院薰衣草| 日韩欧美一级二级三级| 亚洲第一福利视频在线| 日本不卡视频在线| 麻豆精品视频在线观看视频| 26uuuu精品一区二区| 91国产福利在线| 欧美老年两性高潮| 91免费版在线| 成人精品电影在线观看| 国产人伦精品一区二区| 国产天堂亚洲国产碰碰| 欧美一区二区视频在线观看2020| 精品久久久久久久久久久院品网| 中文欧美字幕免费| 亚洲国产精品久久久久婷婷884| 日韩av中文在线观看| 欧美在线一区二区| 亚洲欧美怡红院| 国产一区二区福利视频| 色综合天天视频在线观看 | 日本v片在线高清不卡在线观看| 免费成人你懂的| 国产精品主播直播| 色婷婷精品久久二区二区蜜臀av | 日本韩国精品一区二区在线观看| 国产成人激情av| 7777精品久久久大香线蕉| 亚洲视频一二区| 91免费观看在线| 婷婷六月综合亚洲| 69久久99精品久久久久婷婷| 亚洲成a人v欧美综合天堂 | 国产一区二区三区综合| 精东粉嫩av免费一区二区三区| 丰满放荡岳乱妇91ww| 日韩片之四级片| 91视频一区二区三区| 日韩高清不卡在线| 亚洲国产毛片aaaaa无费看| 国产精品福利影院| 日本一区二区三区国色天香 | 一二三四区精品视频| 欧美性xxxxx极品少妇| 国产精品久久久久久久久果冻传媒 | 欧美色大人视频| 国产福利一区二区三区在线视频| 亚洲精品videosex极品| wwww国产精品欧美| 欧美日本视频在线| 91首页免费视频| 国产精品996| 久久爱www久久做| 午夜精品一区二区三区免费视频 | 精品一区二区三区的国产在线播放| 国产精品久久久久久久久免费丝袜 | 久久久久一区二区三区四区| 欧美性大战xxxxx久久久| av成人免费在线观看| 国产乱码一区二区三区| 欧美一区二区高清| 欧美日韩一区二区三区高清| 日韩一区国产二区欧美三区| 国产亚洲成aⅴ人片在线观看 | 午夜影院久久久| 久久精品免费观看| 成人av在线一区二区| 91麻豆精品国产91久久久使用方法 | 97精品电影院|