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

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

?? lion-tutorial27.htm

?? 內有一些代碼
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<html>

<head>
<link rel="stylesheet" href="../../asm.css">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Iczelion's win32 asm tutorial</title>
</head>

<body bgcolor="#FFFFFF" background="../../images/back01.jpg">
<p align="center">Tutorial 27: Tooltip Control</p>
<hr size="1">
We will learn about the tooltip control: What it is and how to create and use 
it. Download <a href="file:///E%7C/WebPages/files/tut27.zip">the example</a>. 
<h3> Theory:</h3>
A tooltip is a small rectangular window that is displayed when the mouse pointer 
hovers over some specific area. A tooltip window contains some text that the programmer 
wants to be displayed. In this regard, a tooltip servers the same role as the 
status window but it disappears when the user clicks or moves the mouse pointer 
away from the designated area. You'll probably be familiar with the tooltips that 
are associated with toolbar buttons. Those "tooltips" are conveniencies provided 
by the toolbar control. If you want tooltips for other windows/controls, you need 
to create your own tooltip control. <br>
Now that you know what a tooltip is, let's go on to how we can create and use 
it. The steps are outlined below: 
<ol>
  <li> Create a tooltip control with CreateWindowEx</li>
  <li> Define a region that the tooltip control will monitor for mouse pointer 
    movement.</li>
  <li> Submit the region to the tooltip control</li>
  <li> Relay mouse messages of the submitted region to the tooltip control (this 
    step may occur earlier, depending on the method used to relay the messages)</li>
</ol>
We wll next examine each step in detail. 
<h4> Tooltip Creation</h4>
A tooltip control is a common control. As such, you need to call <b>InitCommonControls</b> 
somewhere in your source code so that MASM implicitly links your program to comctl32.dll. 
You create a tooltip control with CreateWindowEx. The typical scenario would be 
like this: 
<blockquote><b>.data</b> <br>
  <b>TooltipClassName db "Tooltips_class32",0</b> <br>
  <b>.code</b> <br>
  <b>.....</b> <br>
  <b>invoke InitCommonControls</b> <br>
  <b>invoke CreateWindowEx, NULL, addr TooltipClassName, NULL, TIS_ALWAYSTIP, 
  CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, 
  NULL</b></blockquote>
Note the window style: <b>TIS_ALWAYSTIP</b>. This style specifies that the tooltip 
will be shown when the mouse pointer is over the designated area regardless of 
the status of the window that contains the area. Put simply, if you use this flag, 
when the mouse pointer hovers over the area you register to the tooltip control, 
the tooltip window will appear even if the window under the mouse pointer is inactive. 
<br>
You don't have to include <b>WS_POPUP</b> and <b>WS_EX_TOOLWINDOW</b> styles in 
CreateWindowEx because the tooltip control's window procedure adds them automatically. 
You also don't need to specify the coordinate, the height and width of the tooltip 
window: the tooltip control will adjust them automatically to fit the tooltip 
text that will be displayed, thus we supply <b>CW_USEDEFAULT</b> in all four parameters. 
The remaining parameters are not remarkable. 
<h4> Specifying the tool</h4>
The tooltip control is created but it's not shown immediately. We want the tooltip 
window to show up when the mouse pointer hovers over some area. Now is the time 
to specify that area. We call such area "<b>tool</b>". A tool is a rectangular 
area on the client area of a window which the tooltip control will monitor for 
mouse pointer. If the mouse pointer hovers over the tool, the tooltip window will 
appear. The rectangular area can cover the whole client area or only a part of 
it. So we can divided tool into two types: one that is implemented as a window 
and another that is implemented as a rectangular area in the client area of some 
window. Both has their uses. The tool that covers the whole client area of a window 
is most frequently used with controls such as buttons, edit controls and so on. 
You don't need to specify the coordinate and the dimensions of the tool: it's 
assumed to be the whole client area of the window. The tool that is implemented 
as a rectangular area on the client area is useful when you want to divide the 
client area of a window into several regions without using child windows. With 
this type of tool, you need to specify the coordinate of the upper left corner 
and the width and height of the tool. <br>
You specify the tool with the<b> TOOLINFO</b> structure which has the following 
definition: 
<blockquote><b> TOOLINFO STRUCT </b> <br>
  <b> &nbsp; cbSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> &nbsp; uFlags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> &nbsp; hWnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> &nbsp; uId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> &nbsp; rect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  RECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;> </b> <br>
  <b> &nbsp; hInst&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> &nbsp; lpszText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> &nbsp; lParam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  LPARAM&nbsp;&nbsp;&nbsp;&nbsp; ? </b> <br>
  <b> TOOLINFO ENDS </b></blockquote>
<center>
  <table BORDER >
    <tr align=CENTER bgcolor="#666600"> 
      <td>Field Name</td>
      <td>Explanation</td>
    </tr>
    <tr> 
      <td>cbSize</td>
      <td>The size of the TOOLINFO structure. You <b>MUST</b> fill this member. 
        Windows will not flag error if this field is not filled properly but you 
        will receive strange, unpredictable results.</td>
    </tr>
    <tr> 
      <td>uFlags</td>
      <td>The bit flags that specifies the characteristics of the tool. This value 
        can be a combination of the following flags: 
        <ul>
          <li> <b>TTF_IDISHWND</b>&nbsp; "ID is hWnd". If you specify this flag, 
            it means you want to use a tool that covers the whole client area 
            of a window (the first type of tool above). If you use this flag, 
            you <b>must</b> fill the <b>uId </b>member of this structure with 
            the handle of the window you want to use. If you don't specify this 
            flag, it means you want to use the second type of tool, the one that 
            is implemented as the rectangular area on the client window. In that 
            case, you need to fill the <b>rect </b>member with the dimension of 
            the rectangle.</li>
          <li> <b>TTF_CENTERTIP&nbsp; </b>Normally the tooltip window will appear 
            to the right and below the mouse pointer. If you specify this flag, 
            the tooltip window will always appear directly below the tool and 
            is centered regardless of the position of the mouse pointer.</li>
          <li> <b>TTF_RTLREADING</b>&nbsp; You can forget about this flag if your 
            program is not designed specifically for Arabic or Hebrew systems. 
            This flag displays the tooltip text with right-to-left reading order. 
            Doesn't work under other systems.</li>
          <li> <b>TTF_SUBCLASS</b>&nbsp; If you use this flag, it means you tell 
            the tooltip control to subclass the window that the tool is on so 
            that the tooltip control can intercept mouse messages that are sent 
            to the window. This flag is very handy. If you don't use this flag, 
            you have to do more work to relay the mouse messages to the tooltip 
            control.</li>
        </ul>
      </td>
    </tr>
    <tr> 
      <td>hWnd</td>
      <td>Handle to the window that contains the tool. If you specify<b> TTF_IDISHWND</b> 
        flag, this field is ignored since Windows will use the value in <b>uId</b> 
        member as the window handle. You need to fill this field if: 
        <ul>
          <li> You don't use <b>TTF_IDISHWND</b> flag (in other words, you use 
            a rectangular tool)</li>
          <li> You specify the value <b>LPSTR_TEXTCALLBACK</b> in <b>lpszText</b> 
            member. This value tells the tooltip control that, when it needs to 
            display the tooltip window, it must ask the window that contains the 
            tool for the text to be displayed. This is a kind of dynamic realtime 
            tooltip text update. If you want to change your tooltip text dynamically, 
            you should specify <b>LPSTR_TEXTCALLBACK</b> value in <b>lpszText</b> 
            member. The tooltip control will send <b>TTN_NEEDTEXT</b> notification 
            message to the window identified by the handle in <b>hWnd</b> field.</li>
        </ul>
      </td>
    </tr>
    <tr> 
      <td>uId</td>
      <td>The value in this field can have two meanings, depending on whether 
        the <b>uFlags</b> member contains the flag <b>TTF_IDISHWND</b>. 
        <ul>
          <li> Application-defined tool ID if the <b>TTF_IDISHWND </b>flag is 
            not specified. Since this means you use a tool which covers only a 
            part of the client area, it's logical that you can have many such 
            tools on the same client area (without overlap). The tooltip control 
            needs a way to differentiate between them. In this case, the window 
            handle in hWnd member is not enough since all tools are on the same 
            window. The application-defined IDs are thus necessary. The IDs can 
            be any value so long as they are unique among themselves.</li>
          <li> The handle to the window whose whole client area is used as the 
            tool if the <b>TTF_IDISHWND</b> flag is specified. You may wonder 
            why this field is used to store the window handle instead of the <b>hWnd</b> 
            field above. The answer is: the hWnd member may already be filled 
            if the value <b>LPSTR_TEXTCALLBACK</b> is specified in the <b>lpszText</b> 
            member and the window that is responsible for supplying the tooltip 
            text and the window that contains the tool may <b>NOT</b> be the same 
            ( You can design your program so that a single window can serve both 
            roles but this is too restrictive. In this case, Microsoft gives you 
            more freedom. Cheers.)</li>
        </ul>
      </td>
    </tr>
    <tr> 
      <td>rect</td>
      <td>A <b>RECT</b> structure that specifies the dimension of the tool. This 
        structure defines a rectangle relative to the upper left corner of the 
        client area of the window specified by the <b>hWnd </b>member. In short, 
        you must fill this structure if you want to specify a tool that covers 
        only a part of the client area. The tooltip control will ignore this field 
        if you specify <b>TTF_IDISHWND</b> flag (you choose to use a tool that 
        covers the whole client area)</td>
    </tr>
    <tr> 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区电影| 久久精品视频免费| 国产精品综合在线视频| 怡红院av一区二区三区| 久久久久久一二三区| 欧美在线色视频| 国产91综合一区在线观看| 亚洲va韩国va欧美va精品| 欧美国产综合一区二区| 91精品国产高清一区二区三区| 亚洲欧美一区二区三区久本道91| 91精品国产色综合久久| 97久久久精品综合88久久| 加勒比av一区二区| 午夜精品福利在线| 亚洲女子a中天字幕| 久久久亚洲国产美女国产盗摄 | av影院午夜一区| 看电影不卡的网站| 亚洲国产精品自拍| 亚洲色图一区二区| 久久综合色播五月| 日韩欧美中文字幕公布| 欧美在线不卡视频| 99久久免费精品| 激情久久五月天| 日韩精品免费专区| 亚洲成人免费看| 亚洲美女电影在线| 欧美精品一区在线观看| 欧美一区二区三区免费观看视频 | 日韩高清在线电影| 亚洲一区二区三区四区五区黄| 成人免费在线视频观看| 欧美韩国一区二区| 欧美—级在线免费片| 久久久五月婷婷| 日韩视频免费观看高清完整版在线观看 | 日韩一二三区不卡| 欧美伦理影视网| 欧美日韩情趣电影| 在线免费观看日本一区| 一本久道中文字幕精品亚洲嫩| 欧美肥妇毛茸茸| 久久99精品久久久久久动态图| 韩国视频一区二区| 国产精品嫩草99a| 91精品国产综合久久久久| 高清国产一区二区| 麻豆精品在线播放| 亚洲一区在线电影| 亚洲三级电影网站| 精品国产百合女同互慰| 精品久久人人做人人爰| 欧美日韩一区二区在线视频| 在线观看欧美日本| 欧美日韩精品三区| 日韩亚洲欧美中文三级| 日韩免费视频线观看| 精品久久久久久无| 欧美精品一区二区三区蜜桃 | 久久精品国产免费| 国产一二精品视频| 成人一级视频在线观看| 色中色一区二区| 欧美唯美清纯偷拍| 欧美精品乱人伦久久久久久| 精品少妇一区二区三区| 精品国产欧美一区二区| 亚洲一线二线三线视频| 日本韩国欧美在线| 欧美老肥妇做.爰bbww视频| 日韩欧美在线一区二区三区| 国产日韩欧美不卡| 亚洲午夜久久久久中文字幕久| 国产乱国产乱300精品| 国产精品久久久久一区二区三区共| 亚洲欧美日韩国产一区二区三区| 午夜婷婷国产麻豆精品| 国产乱子伦视频一区二区三区| 风间由美中文字幕在线看视频国产欧美| 91污在线观看| 日韩一区二区三区四区| 日本一区二区三区电影| 一区二区三区在线播| 蜜桃视频在线一区| aa级大片欧美| 日韩精品中文字幕在线不卡尤物 | 99精品视频中文字幕| 欧美高清hd18日本| 中日韩av电影| 理论电影国产精品| 一本一本久久a久久精品综合麻豆| 日韩欧美专区在线| 亚洲欧美另类久久久精品| 秋霞午夜av一区二区三区 | 欧美一区二区二区| 国产精品不卡在线观看| 男女性色大片免费观看一区二区 | 欧美成人精品3d动漫h| 国产精品黄色在线观看| 美日韩黄色大片| 91黄色激情网站| 国产女主播视频一区二区| 天天爽夜夜爽夜夜爽精品视频| 国产999精品久久| 日韩精品最新网址| 亚洲成人激情综合网| 成人高清在线视频| 欧美sm极限捆绑bd| 无吗不卡中文字幕| 欧美综合欧美视频| 亚洲日本免费电影| 成人黄页毛片网站| 26uuu成人网一区二区三区| 亚洲激情图片小说视频| 成人美女在线观看| 久久久亚洲午夜电影| 日韩av电影一区| 欧美日韩不卡视频| 亚洲欧美日韩久久精品| 成人晚上爱看视频| 久久久久国产精品麻豆ai换脸| 日日夜夜精品视频免费 | 国产欧美日韩麻豆91| 久久99久久99| 日韩欧美激情四射| 日韩福利电影在线观看| 欧美日韩国产乱码电影| 亚洲免费观看高清完整版在线 | 精品精品国产高清一毛片一天堂| 亚洲国产视频a| 欧美在线色视频| 亚洲精品国产第一综合99久久| 91污在线观看| 自拍偷拍国产亚洲| 91麻豆国产香蕉久久精品| 成人欧美一区二区三区视频网页| 春色校园综合激情亚洲| 国产日韩欧美在线一区| 国产精品白丝av| 欧美激情在线一区二区三区| 国产福利一区二区| 国产精品少妇自拍| 9i在线看片成人免费| 亚洲特黄一级片| 色综合天天综合在线视频| 综合网在线视频| 色成年激情久久综合| 一区二区在线免费| 国产精品一级二级三级| 国产日韩欧美不卡在线| 成人免费毛片片v| 亚洲欧美日韩系列| 欧美日韩成人一区| 麻豆国产91在线播放| 久久一留热品黄| 成人在线一区二区三区| 亚洲视频1区2区| 欧美日韩美女一区二区| 另类小说视频一区二区| 精品国精品国产| 成人在线视频首页| 一区二区三区自拍| 欧美日韩成人一区| 国产精品影视网| 亚洲免费观看高清完整版在线 | 国产成人午夜电影网| 亚洲柠檬福利资源导航| 91精品国产综合久久香蕉麻豆 | 91啪亚洲精品| 天天综合天天综合色| 久久久天堂av| 色婷婷精品久久二区二区蜜臀av| 天天免费综合色| 国产亚洲精久久久久久| 色悠悠亚洲一区二区| 蜜臀av一区二区| 18成人在线观看| 欧美一区二区三区四区久久 | 国产成人激情av| 亚洲精品亚洲人成人网在线播放| 欧美一区二区在线不卡| 懂色一区二区三区免费观看| 亚洲成a人v欧美综合天堂下载| 国产亚洲精久久久久久| 欧美日韩免费观看一区三区| 国产一区二区三区四区在线观看| 亚洲欧美日韩系列| 欧美tickle裸体挠脚心vk| 粉嫩av一区二区三区| 日本网站在线观看一区二区三区| 日韩精品自拍偷拍| 欧美日韩日本视频| 国产乱码精品1区2区3区| 一区二区三区在线视频免费| 国产视频亚洲色图| 欧美三级中文字幕在线观看| 精品一区二区三区免费毛片爱 | 99麻豆久久久国产精品免费优播|