亚洲欧美第一页_禁久久精品乱码_粉嫩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小视频在线免费看| 国产蜜臀av在线一区二区三区| 日韩中文字幕区一区有砖一区| 99久久综合精品| 精品国产a毛片| 久久精品国产免费| 欧美电影在哪看比较好| 依依成人精品视频| 99re8在线精品视频免费播放| 国产欧美一区二区三区鸳鸯浴| 日本va欧美va精品| 欧美日韩国产另类不卡| 夜夜精品浪潮av一区二区三区| 成人av在线网站| 欧美激情一区在线观看| 国产自产视频一区二区三区| 欧美一区二区三区性视频| 午夜精品久久久久| 欧美日精品一区视频| 亚洲自拍偷拍网站| 欧美吞精做爰啪啪高潮| 亚洲国产精品久久久久婷婷884| 91丨porny丨蝌蚪视频| 国产精品久久久久久久久图文区| 丁香啪啪综合成人亚洲小说| 国产日韩欧美a| 成人免费高清在线| 国产精品剧情在线亚洲| 色综合久久99| 亚洲第一精品在线| 欧美一级片在线| 久久av资源站| 国产欧美精品一区aⅴ影院| 国产91精品露脸国语对白| 国产精品久久久久精k8 | 久久久久久久一区| 国产精品一区二区久激情瑜伽| 久久欧美中文字幕| 丁香婷婷综合五月| 一区二区三区自拍| 欧美日韩国产不卡| 久久成人18免费观看| 国产日产欧美一区| 在线精品视频一区二区三四 | 亚洲一区日韩精品中文字幕| 色噜噜久久综合| 午夜精彩视频在线观看不卡| 欧美一区三区四区| 国产成人综合自拍| 成人免费小视频| 欧美精品视频www在线观看| 裸体在线国模精品偷拍| 国产嫩草影院久久久久| 91麻豆免费视频| 日韩精品乱码av一区二区| 久久久久久电影| 色综合久久久久久久久| 日本中文在线一区| 国产精品免费网站在线观看| 欧美日韩国产大片| 国产成人综合视频| 亚洲va国产天堂va久久en| 久久亚洲精品小早川怜子| 91看片淫黄大片一级在线观看| 午夜不卡av在线| 中文一区二区在线观看| 在线不卡免费欧美| 成人美女视频在线看| 天天av天天翘天天综合网色鬼国产| 久久综合九色综合97婷婷| 欧美在线视频不卡| 豆国产96在线|亚洲| 蜜桃视频一区二区三区| 一区二区三区日韩精品视频| 久久久久久久一区| 欧美一区永久视频免费观看| 9色porny自拍视频一区二区| 精品一区二区三区蜜桃| 亚洲1区2区3区4区| 亚洲精品videosex极品| 国产日产欧美精品一区二区三区| 91精品国产色综合久久不卡蜜臀| av电影天堂一区二区在线| 国产专区欧美精品| 日韩 欧美一区二区三区| 亚洲日本电影在线| 中文字幕不卡一区| ww久久中文字幕| 日韩欧美一二三区| 欧美一区二区视频在线观看2020 | 另类综合日韩欧美亚洲| 亚洲成年人网站在线观看| 国产精品国产三级国产aⅴ入口 | 色偷偷88欧美精品久久久| 国产毛片精品一区| 黄页网站大全一区二区| 日韩不卡一区二区三区| 亚洲成人免费av| 亚洲第一成人在线| 亚洲国产aⅴ天堂久久| 亚洲精品成人精品456| 亚洲少妇中出一区| 最新国产精品久久精品| 中文一区在线播放| 国产精品麻豆99久久久久久| 欧美高清在线视频| 中文字幕不卡三区| 亚洲三级在线看| 亚洲男女一区二区三区| 亚洲激情网站免费观看| 又紧又大又爽精品一区二区| 亚洲一区av在线| 日日夜夜精品免费视频| 日产国产高清一区二区三区| 美女视频免费一区| 国产精品一区二区在线观看网站| 国产一区二区三区在线观看免费 | 国产成人av电影在线| 国产成a人亚洲| 色综合久久九月婷婷色综合| 在线精品亚洲一区二区不卡| 欧美军同video69gay| 精品日韩一区二区| 日本一区二区三区视频视频| 最新热久久免费视频| 午夜精品福利在线| 国产乱国产乱300精品| 成人毛片在线观看| 欧美唯美清纯偷拍| 欧美www视频| 综合久久久久久| 亚洲福利视频一区| 国内精品免费**视频| 91丨porny丨首页| 欧美一级日韩一级| 国产精品色呦呦| 午夜a成v人精品| 国产精品12区| 欧美日韩黄色一区二区| 精品国产一区二区三区忘忧草| 国产精品麻豆99久久久久久| 天天影视涩香欲综合网| 国产一区 二区| 欧美日韩国产首页| 国产午夜精品久久久久久久 | 国产成人免费视频一区| 在线亚洲一区观看| 精品久久国产老人久久综合| **网站欧美大片在线观看| 麻豆精品国产91久久久久久| 91在线小视频| 精品日韩99亚洲| 亚洲第一精品在线| caoporn国产一区二区| 91精品国产欧美一区二区18| 中文字幕一区二区三区视频| 精油按摩中文字幕久久| 91福利视频网站| 国产精品视频免费看| 美女视频黄a大片欧美| 在线一区二区视频| 国产精品第13页| 韩国av一区二区三区四区| 欧美视频日韩视频| 国产精品国产三级国产aⅴ原创| 精品一区二区三区av| 5566中文字幕一区二区电影| 日韩美女啊v在线免费观看| 国产一区二区三区免费看| 欧美伦理视频网站| 亚洲一区二区三区四区五区中文| av资源网一区| 久久精品人人做人人综合| 青青草97国产精品免费观看无弹窗版| 色噜噜狠狠成人网p站| 国产精品国产三级国产普通话蜜臀 | 欧美日韩一区三区| 亚洲视频狠狠干| www.av精品| 国产精品国产三级国产aⅴ入口 | 青青国产91久久久久久| 欧美性videosxxxxx| 亚洲激情欧美激情| 在线免费观看日本欧美| 亚洲人成人一区二区在线观看 | 亚洲成人免费在线| 欧美少妇性性性| 亚洲www啪成人一区二区麻豆| 欧美在线观看18| 亚洲一区二区在线播放相泽| 日本精品视频一区二区| 亚洲永久免费av| 911国产精品| 老汉av免费一区二区三区|