亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vcc34.htm

?? SHELL排序算法與應用
?? HTM
字號:
<html>
<head>
<title>c++系列</title>
 
 
 
 
 
 
 
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
 
 
</head>
<p align="center"><script src="../../1.js"></script></a>

<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center> 
  <table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
    <tbody> 
    <tr> 
      <td width=200 height="59"> 
         
    </tr>
    </tbody> 
  </table>
  <table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0 
cellspacing=0 width=685 align="center" height="70">
    <tbody> 
    <tr> 
      <td bgcolor=#F9D23C height=14> 
        <div align=center class=H1> <b><font color="#000000">用C++ 
          Builder編寫Tray程序</font><font 
      color=#ffa000><b></b></font></b></font></div>
      </td>
    </tr>
    <tr valign=top> 
      <td class=H1 height=212> 
        <p align="center">&nbsp;</p>
        <p>   <span class="unnamed1">Tray(托盤)是Windows9x任務條上的一個特殊區域,它的技術名稱為“任務欄布告區”,一些軟件(如金山詞霸Ⅲ)運行時會在托盤上放置一個圖標,使用戶一眼就能知道這個程序正在后臺運行,要想激活它也很容易,通常只需單擊一下這個圖標即可,非常方便。 
          &nbsp;&nbsp; </span></font></p>
        <p>    Tray的編程比較特殊,但并不難,主要包括圖標、工具提示和消息等三個方面,它是Shell編程的一部分。ShellAPI提供了Shell—NotifyIcon函數,用它可以增加、刪除或者修改托盤中的圖標,在托盤上放置圖標后,Windows 
          Shell會負責把發生在圖標上的鼠標事件通知應用程序。Shell—NotifyIcon函數定義如下: &nbsp;&nbsp; </font></span></p>
        <p>    WINSHELLAPI BOOL WINAPI 
          Shell—NotifyIcon(DWORD dwMessage,PNOTIFYICONDATA pnid); &nbsp;&nbsp; 
          </font></span></p>
        <p>    dwMessage表示要完成的操作:NIM—ADD(增加圖標)、NIM—DELETE(刪除圖標)、NIM—MODIFY(修改圖標或提示文本),pnid是一個指向NOTIFYICONDATA結構的指針,結構的定義如下: 
          &nbsp;&nbsp; </font></span></p>
        <p>    typedef struct —NOTIFYICONDATA{&nbsp;&nbsp; 
          </font></span></p>
        <p>    DWORD cbSize;//結構所占的字節數,必須用結構的大小來初始化。 
          &nbsp;&nbsp; </font></span></p>
        <p>    HWND hWnd;//接受Tray圖標消息的窗口句柄&nbsp;&nbsp; 
          </font></span></p>
        <p>    UINT uID;//由應用程序定義的圖標ID&nbsp;&nbsp; 
          </font></span></p>
        <p>    UINT uFlags;//用來鑒別那些需要改變其值的域,NIF_ICON表示hIcon有效,可用來修改圖標,NIF_MESSAGE表示uCallbackMessage有效,用來定義消息,NIF—TIP表示szTip參數有效,可修改工具提示。 
          &nbsp;&nbsp; </font></span></p>
        <p>    UINT uCallbackMessage;//應用程序定義的消息&nbsp;&nbsp; 
          </font></span></p>
        <p>    HICON hIcon;//Tray圖標的句柄&nbsp;&nbsp; 
          </font></span></p>
        <p>    char szTip[64];//工具提示的文本&nbsp;&nbsp; 
          </font></span></p>
        <p>    }NOTIFYICONDATA;&nbsp;&nbsp; 
          </font></span></p>
        <p>    下面我們就通過一個具體例子來說明實現方法,程序運行時不會顯示主窗體,只在托盤上增加一個圖標,雙擊圖標可關閉程序。 
          &nbsp;&nbsp; </font></span></p>
        <p>    程序運行時托盤區顯示如下:&nbsp;&nbsp; 
          </font></span></p>
        <p>    新建一個工程,放置一個Timer控件到窗體上。打開unit1.h文件,增加頭文件說明#include 
          &lt;shellapi.h&gt;,在TForm1定義的private段增加一些數據成員和方法的聲明: &nbsp;&nbsp; </font></span></p>
        <p>    unsigned int iconmessage;//定義的消息&nbsp;&nbsp; 
          </font></span></p>
        <p>    void AddTrayIcon();//在托盤上增加圖標&nbsp;&nbsp; 
          </font></span></p>
        <p>    void RemoveTrayIcon();//從托盤中刪除圖標&nbsp;&nbsp; 
          </font></span></p>
        <p>    由于要增加對自定義消息的處理,所以必須重載窗口過程函數WndProc,在TForm1的定義中增加protected段:virtual 
          void ——fastcall WndProc(Messages::Tmessage& Message);&nbsp;&nbsp; </font></span></p>
        <p>    在unit1.cpp中定義相應的成員函數:&nbsp;&nbsp; 
          </font></span></p>
        <p>    void TForm1::AddTrayIcon()&nbsp;&nbsp; 
          </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>    NOTIFYICONDATA icondata;&nbsp;&nbsp; 
          </font></span></p>
        <p>    memset(&icondata,0,sizeof(icondata));&nbsp;&nbsp; 
          </font></span></p>
        <p>    //將結構icondata的各域初始化為0&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.cbSize=sizeof(icondata);&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.hWnd=Handle;&nbsp;&nbsp; 
          </font></span></p>
        <p>    strncpy(icondata.szTip,″未知狀態″,sizeof(icondata.szTip));&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.hIcon=Application-&gt;Icon-&gt;Handle;&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.uCallbackMessage=iconmessage;&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.uFlags=NIF—MESSAGE|NIF—ICON|NIF—TIP;&nbsp;&nbsp; 
          </font></span></p>
        <p>    Shell—NotifyIcon(NIM—ADD,&icondata);&nbsp;&nbsp; 
          </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    void TForm1::RemoveTrayIcon()&nbsp;&nbsp; 
          </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>    NOTIFYICONDATA icondata;&nbsp;&nbsp; 
          </font></span></p>
        <p>    memset(&icondata,0,sizeof(icondata));&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.cbSize=sizeof(icondata);&nbsp;&nbsp; 
          </font></span></p>
        <p>    icondata.hWnd=Handle;&nbsp;&nbsp; 
          </font></span></p>
        <p>    Shell—NotifyIcon(NIM—DELETE,&icondata);&nbsp;&nbsp; 
          </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    重載TForm1的WndProc函數,加入對自定義消息的處理代碼,這其實相當于創建了TForm類的子類。 
          &nbsp;&nbsp; </font></span></p>
        <p>    void __fastcall TForm1::WndProc(Messages::TMessage& 
          Message)&nbsp;&nbsp; </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>    if(Message.Msg==iconmessage)&nbsp;&nbsp; 
          </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>     if(Message.LParam==WM—LBUTTONDBLCLK)&nbsp;&nbsp; 
          </font></span></p>
        <p>     {&nbsp;&nbsp; </font></span></p>
        <p>     Application-&gt;Terminate();&nbsp;&nbsp; 
          </font></span></p>
        <p>    //如果雙擊圖標,則關閉應用程序&nbsp;&nbsp; 
          </font></span></p>
        <p>     }&nbsp;&nbsp; </font></span></p>
        <p>     return;&nbsp;&nbsp; 
          </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    TForm::WndProc(Message);//對于其他的消息,調用基礎類的WndProc函數讓Windows進行缺省處理。 
          &nbsp;&nbsp; </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    創建窗體的OnCreate事件句柄:&nbsp;&nbsp; 
          </font></span></p>
        <p>    void ——fastcall TForm1::FormCreate(TObject 
          *Sender)&nbsp;&nbsp; </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>    iconmessage=RegisterWindowMessage(″IconNotify″);&nbsp;&nbsp; 
          </font></span></p>
        <p>    AddTrayIcon();&nbsp;&nbsp; 
          </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    這里通過調用RegisterWindowMessage函數來定義一個用戶消息,也可以通過WM_USER+n來獲得一個系統沒有使用的消息編號。 
          &nbsp;&nbsp; </font></span></p>
        <p>    void ——fastcall TForm1::FormDestroy(TObject 
          *Sender)&nbsp;&nbsp; </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>    RemoveTrayIcon();&nbsp;&nbsp; 
          </font></span></p>
        <p>    //窗體在關閉時刪除托盤中的圖標&nbsp;&nbsp; 
          </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    編寫Timer1的Timer事件代碼,當用戶將鼠標停留在圖標上時,顯示提示文本: 
          &nbsp;&nbsp; </font></span></p>
        <p>    void ——fastcall TForm1::Timer1Timer(TObject 
          *Sender)&nbsp;&nbsp; </font></span></p>
        <p>    {&nbsp;&nbsp; </font></span></p>
        <p>    NOTIFYICONDATA icondata;&nbsp;&nbsp; 
          </font></span></p>
        <p>    memset (&icondata, 0, 
          sizeof (icondata));&nbsp;&nbsp; </font></span></p>
        <p>    icondata.cbSize = sizeof 
          (icondata);&nbsp;&nbsp; </font></span></p>
        <p>    icondata.hWnd = Handle;&nbsp;&nbsp; 
          </font></span></p>
        <p>    String s=″我的圖標!″;//定義提示文本&nbsp;&nbsp; 
          </font></span></p>
        <p>    strncpy (icondata.szTip, 
          s.c_str(), sizeof (icondata.szTip));&nbsp;&nbsp; </font></span></p>
        <p>    icondata.uFlags = NIF—TIP 
          ;&nbsp;&nbsp; </font></span></p>
        <p>    Shell—NotifyIcon (NIM—MODIFY,&icondata);&nbsp;&nbsp; 
          </font></span></p>
        <p>    }&nbsp;&nbsp; </font></span></p>
        <p>    程序運行時不顯示主窗體,只在托盤上放置相應的程序圖標,從C++ 
          Builder主選單中選擇View|Project Source,在WinMain函數的Application→Initialize()語句后增加代碼: 
          &nbsp;&nbsp; </font></span></p>
        <p>    ShowWindow(Application→Handle,SW—HIDE);&nbsp;&nbsp; 
          </font></span></p>
        <p>    Application→ShowMainForm=false;&nbsp;&nbsp; 
          </font></span></p>
        <p>     按F9編譯并運行程序,托盤上就會出現相應的圖標。以上代碼在C++ 
          Builder3、Pwin98環境下編譯、運行通過。&nbsp;</font></span>
         
      </td>
    </tr>
    </tbody> 
  </table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文字幕一区二区视频| 亚洲精品欧美激情| 麻豆freexxxx性91精品| 日韩你懂的在线播放| 在线精品视频小说1| 欧美疯狂做受xxxx富婆| 日本不卡一二三| 国产女人aaa级久久久级| 色域天天综合网| 亚洲大片在线观看| 欧美卡1卡2卡| 成人精品国产免费网站| 中文字幕亚洲成人| 91官网在线免费观看| 亚洲国产精品久久久男人的天堂| 欧美视频在线播放| 蜜臀av性久久久久蜜臀aⅴ| 欧美一级电影网站| 免费成人深夜小野草| 欧美精品一区二区久久婷婷| 不卡一区二区三区四区| 亚洲资源在线观看| 久久婷婷国产综合精品青草| av欧美精品.com| 天天综合色天天综合| 欧美国产日韩亚洲一区| 91福利在线播放| 国产老女人精品毛片久久| 亚洲欧美另类小说视频| 日韩你懂的在线播放| 91精品办公室少妇高潮对白| 国产在线视视频有精品| 性欧美大战久久久久久久久| 久久久亚洲高清| 日韩欧美电影一二三| 欧美三级欧美一级| 一本到高清视频免费精品| 国产一区二区三区| 日韩制服丝袜先锋影音| 亚洲成人在线网站| 亚洲无线码一区二区三区| 亚洲男人天堂av网| 国产精品久久福利| 日本一区二区三区在线不卡| www激情久久| 久久久www成人免费毛片麻豆| 日韩一区二区三免费高清| 欧美日韩国产精品自在自线| 欧美三级中文字幕| 欧美顶级少妇做爰| 欧美伦理视频网站| 久久日韩粉嫩一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 欧美va在线播放| 欧美激情中文不卡| 亚洲在线中文字幕| 亚洲六月丁香色婷婷综合久久 | 成人精品电影在线观看| 在线观看三级视频欧美| 中文欧美字幕免费| 91香蕉视频在线| 亚洲精品亚洲人成人网在线播放| 欧美亚州韩日在线看免费版国语版| 亚洲人成7777| 91免费国产在线观看| 日韩毛片精品高清免费| 国产乱理伦片在线观看夜一区| 欧美一级精品大片| 久热成人在线视频| 成人免费视频视频| 色哟哟日韩精品| 亚洲另类一区二区| 午夜激情综合网| 国产清纯在线一区二区www| 国产精品99久久久久| 中文字幕亚洲一区二区av在线| 91网站在线播放| 美女视频网站久久| 中文字幕av资源一区| 美女脱光内衣内裤视频久久网站 | 美国毛片一区二区| 亚洲欧洲一区二区三区| 欧美体内she精高潮| 国产成人午夜精品影院观看视频| 国产精品麻豆久久久| 日韩情涩欧美日韩视频| 成人永久aaa| 日韩欧美二区三区| 91久久人澡人人添人人爽欧美 | 中文字幕色av一区二区三区| 欧美日韩国产系列| 成人教育av在线| 日本va欧美va精品| 一区二区三区四区高清精品免费观看| 欧美男女性生活在线直播观看| 韩国精品主播一区二区在线观看 | 欧洲日韩一区二区三区| 国模冰冰炮一区二区| 欧美激情一区三区| 在线看日本不卡| 精品一区二区免费视频| 伊人夜夜躁av伊人久久| 国产精品视频观看| 日韩欧美在线1卡| 欧美少妇xxx| av在线不卡免费看| 秋霞电影网一区二区| 亚洲综合精品久久| 中文字幕av不卡| 久久久久久久综合| 欧美精品在线观看播放| 日本高清视频一区二区| 久久国产麻豆精品| 欧美aⅴ一区二区三区视频| 日韩美女视频一区二区| 91精品国产aⅴ一区二区| 国产成人精品免费| 精品亚洲成av人在线观看| 亚洲影院免费观看| 亚洲私人黄色宅男| 中文一区二区在线观看| 国产精品视频免费看| 国产亚洲精品福利| 国产精品免费视频一区| 2019国产精品| 久久丝袜美腿综合| 精品人在线二区三区| 久久爱www久久做| 久久国产尿小便嘘嘘| 奇米一区二区三区av| 精品中文字幕一区二区| 青青国产91久久久久久| 久久99国产精品麻豆| 人人狠狠综合久久亚洲| 免费成人小视频| 蜜臀精品久久久久久蜜臀| 激情文学综合插| 另类欧美日韩国产在线| 亚洲成人免费在线| 三级影片在线观看欧美日韩一区二区 | 亚洲国产精品视频| 午夜欧美大尺度福利影院在线看| 亚洲成a人片在线观看中文| 免费人成黄页网站在线一区二区| 日本欧美大码aⅴ在线播放| 国内久久婷婷综合| 国产福利不卡视频| 91国偷自产一区二区开放时间| 一本到一区二区三区| 欧美一级一区二区| 久久新电视剧免费观看| 2021久久国产精品不只是精品| 久久久久久亚洲综合影院红桃| 制服丝袜中文字幕一区| 中文字幕第一区二区| 一区二区在线观看免费| 奇米影视一区二区三区小说| 国产美女娇喘av呻吟久久| 91在线国产福利| 777午夜精品视频在线播放| 久久久久久久久久久久久久久99| 国产精品美女视频| 日本aⅴ亚洲精品中文乱码| 国产盗摄女厕一区二区三区| 顶级嫩模精品视频在线看| 91视频.com| 欧美一级xxx| 欧美大黄免费观看| 国产精品久久三| 午夜精品久久久久久久久| 亚州成人在线电影| 国产精品一区在线观看你懂的| 99久久久无码国产精品| 91麻豆精品91久久久久久清纯| 51精品久久久久久久蜜臀| 国产视频亚洲色图| 亚洲一区二区三区视频在线播放| 国产精品18久久久久久vr| 欧美亚洲另类激情小说| 国产精品久久久久9999吃药| 日韩主播视频在线| 欧美吻胸吃奶大尺度电影 | 国产午夜一区二区三区| 午夜激情一区二区| 成人av午夜影院| 久久色.com| 日韩中文字幕一区二区三区| 99久久综合色| 欧美性感一类影片在线播放| 精品福利在线导航| 免费观看日韩电影| 欧美日韩在线三级| 亚洲免费观看高清完整版在线观看| 久久se这里有精品| 日韩欧美美女一区二区三区| 亚洲国产综合在线| 色美美综合视频| 中文字幕一区在线| 成人的网站免费观看| 久久婷婷色综合|