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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lion-tutorial27.htm

?? 內(nèi)有一些代碼
?? HTM
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
      <td>hInst</td>
      <td>The handle of the instance that contains the string resource that will 
        be used as the tooltip text if the value in the <b>lpszText</b> member 
        specifies the string resource identifier. This may sound confusing. Read 
        the explanation of the <b>lpszText</b> member first and you will understand 
        what this field is used for. The tooltip control ignores this field if 
        the <b>lpszText </b>field doesn't contain a string resource identifier.</td>
    </tr>
    <tr> 
      <td>lpszText</td>
      <td>This field can have several values: 
        <ul>
          <li> If you specify the value <b>LPSTR_TEXTCALLBACK </b>in this field, 
            the tooltip control will send <b>TTN_NEEDTEXT</b> notification message 
            to the window identified by the handle in <b>hWnd</b> field for the 
            text string to be displayed in the tooltip window. This is the most 
            dynamic method of tooltip text update: you can change the tooltip 
            text each time the tooltip window is displayed.</li>
          <li> If you specify a string resource identifier in this field, when 
            the tooltip control needs to display the tooltip text in the tooltip 
            window, it searches for the string in the string table of the instance 
            specified by <b>hInst</b> member. The tooltip control identifies a 
            string resource identifier by checking the high word of this field. 
            Since a string resource identifier is a 16-bit value, the high word 
            of this field will always be zero. This method is useful if you plan 
            to port your program to other languages. Since the string resource 
            is defined in a resource script, you don't need to modify the source 
            code.You only have to modify the string table and the tooltip texts 
            will change without the risk of introducing bugs into your program.</li>
          <li> If the value in this field is not <b>LPSTR_TEXTCALLBACK</b> and 
            the high word is not zero, the tooltip control interprets the value 
            as the pointer to a text string that will be used as the tooltip text. 
            This method is the easiest to use but the least flexible.</li>
        </ul>
      </td>
    </tr>
  </table>
</center>
<p>To recapitulate, you need to fill the <b>TOOLINFO</b> structure prior to submitting 
  it to the tooltip control. This structure describes the characteristics of the 
  tool you desire. 
<h4> Register the tool with the tooltip control</h4>
After you fill the <b>TOOLINFO</b> structure, you must submit it to tooltip control. 
A tooltip control can service many tools so it is usually unnecessary to create 
more than one tooltip control for a window. To register a tool with a tooltip 
control, you send the <b>TTM_ADDTOOL</b> message to the tooltip control. The <b>wParam</b> 
is not used and the<b> lParam</b> must contain the address of the <b>TOOLINFO</b> 
structure you want to register. 
<blockquote>.data? <br>
  ti TOOLINFO &lt;> <br>
  ....... <br>
  .code <br>
  ....... <br>
  &lt;fill the TOOLINFO structure> <br>
  ....... <br>
  invoke SendMessage, hwndTooltip, TTM_ADDTOOL, NULL, addr ti</blockquote>
<b>SendMessage</b> for this message will return <b>TRUE</b> if the tool is successfully 
registered with the tooltip control, <b>FALSE</b> otherwise. <br>
You can unregister the tool by sending <b>TTM_DELTOOL</b> message to the tooltip 
control. 
<h4> Relaying Mouse Messages to the Tooltip Control</h4>
When the above step is completed, the tooltip control knows which area it should 
monitor for mouse messages and what text it should display in the tooltip window. 
The only thing it lacks is the *trigger* for that action. Think about it: the 
area specified by the tool is on the client area of the other window. How can 
the tooltip control intercept the mouse messages destined for that window? It 
needs to do so in order that it can measure the amount of time the mouse pointer 
hovers over a point in the tool so that when the specified amount of time elapses, 
the tooltip control shows the tooltip window. There are two methods of accomplishing 
this goal, one that requires the cooperation of the window that contains the tool 
and the other without the cooperation on the part of the window. 
<ul>
  <li> The window that contains the tool must relay the mouse messages to the 
    tooltip control by sending <b>TTM_RELAYEVENT</b> messages to the control. 
    The <b>lParam</b> of this message must contain the address of a <b>MSG</b> 
    structure that specifies the message to be relayed to the tooltip control. 
    A tooltip control processes only the following mouse messages:</li>
  <ul>
    <li> <b>WM_LBUTTONDOWN</b></li>
    <li> <b>WM_MOUSEMOVE</b></li>
    <li> <b>WM_LBUTTONUP</b></li>
    <li> <b>WM_RBUTTONDOWN</b></li>
    <li> <b>WM_MBUTTONDOWN</b></li>
    <li> <b>WM_RBUTTONUP</b></li>
    <li> <b>WM_MBUTTONUP</b></li>
  </ul>
  All other messages are ignored. Thus in the window procedure of the window that 
  contains the tool, there must be a switch that does something like this: 
  <p><b>WndProc proc hWnd:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD</b> <br>
    <b>.......</b> <br>
    <b>&nbsp;&nbsp;&nbsp; if uMsg==WM_CREATE</b> <br>
    <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .............</b> <br>
    <b>&nbsp;&nbsp;&nbsp; elseif uMsg==WM_LBUTTONDOWN || uMsg==WM_MOUSEMOVE || 
    uMsg==WM_LBUTTONUP || uMsg==WM_RBUTTONDOWN || uMsg==WM_MBUTTONDOWN || uMsg==WM_RBUTTONUP 
    || uMsg==WM_MBUTTONUP</b> <br>
    <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SendMessage, hwndTooltip, 
    TTM_RELAYEVENT, NULL, addr msg</b> <br>
    <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..........</b> 
  <li> You can specify <b>TTF_SUBCLASS</b> flag in the<b> uFlags</b> member of 
    the <b>TOOLINFO</b> structure. This flag tells the tooltip control to subclass 
    the window that contains the tool so it can intercept the mouse messages without 
    the cooperation of the window. This method is easier to use since it doesn't 
    require more coding than specifying <b>TTF_SUBCLASS</b> flag and the tooltip 
    control handles all the message interception itself.</li>
</ul>
That's it. At this step, your tooltip control is fully functional. There are several 
useful tooltip-related messages you should know about. 
<ul>
  <li> <b>TTM_ACTIVATE.</b>&nbsp; If you want to disable/enable the tooltip control 
    dynamically, this message is for you. If the wParam value is <b>TRUE</b>, 
    the tooltip control is enabled. If the wParam value is <b>FALSE</b>, the tooltip 
    control is disabled. A tooltip control is enabled when it first created so 
    you don't need to send this message to activate it.</li>
  <li> <b>TTM_GETTOOLINFO </b>and <b>TTM_SETTOOLINFO</b>. If you want to obtain/change 
    the values in the TOOLINFO structure after it was submitted to the tooltip 
    control, use these messages. You need to specify the tool you need to change 
    with the correct uId and hWnd values. If you only want to change the rect 
    member, use <b>TTM_NEWTOOLRECT</b> message. If you only want to change the 
    tooltip text, use <b>TTM_UPDATETIPTEXT</b>.</li>
  <li> <b>TTM_SETDELAYTIME</b>. With this message, you can specify the time delay 
    the tooltip control uses when it's displaying the tooltip text and much more.</li>
</ul>
<h3> Example:</h3>
The following example is a simple dialog box with two buttons. The client area 
of the dialog box is divided into 4 areas: upper left, upper right, lower left 
and lower right. Each area is specified as a tool with its own tooltip text. The 
two buttons also has their own tooltip texts. 
<blockquote> .386 <br>
   .model flat,stdcall  <br>
   option casemap:none  <br>
   include \masm32\include\windows.inc  <br>
   include \masm32\include\kernel32.inc  <br>
   include \masm32\include\user32.inc  <br>
   include \masm32\include\comctl32.inc  <br>
   includelib \masm32\lib\comctl32.lib  <br>
   includelib \masm32\lib\user32.lib  <br>
   includelib \masm32\lib\kernel32.lib  <br>
   DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD  <br>
   EnumChild proto :DWORD,:DWORD  <br>
   SetDlgToolArea proto :DWORD,:DWORD,:DWORD,:DWORD,:DWORD  <br>
   .const  <br>
   IDD_MAINDIALOG equ 101  <br>
   .data  <br>
   ToolTipsClassName db "Tooltips_class32",0  <br>
   MainDialogText1 db "This is the upper left area of the dialog",0  <br>
   MainDialogText2 db "This is the upper right area of the dialog",0  <br>
   MainDialogText3 db "This is the lower left area of the dialog",0  <br>
   MainDialogText4 db "This is the lower right area of the dialog",0  <br>
   .data?  <br>
   hwndTool dd ?  <br>
   hInstance dd ?  <br>
   .code  <br>
   start:  <br>
   &nbsp;&nbsp;&nbsp; invoke GetModuleHandle,NULL  <br>
   &nbsp;&nbsp;&nbsp; mov hInstance,eax  <br>
   &nbsp;&nbsp;&nbsp; invoke DialogBoxParam,hInstance,IDD_MAINDIALOG,NULL,addr 
  DlgProc,NULL  <br>
   &nbsp;&nbsp;&nbsp; invoke ExitProcess,eax   DlgProc proc hDlg:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD  
  <br>
   &nbsp;&nbsp;&nbsp; LOCAL ti:TOOLINFO  <br>
   &nbsp;&nbsp;&nbsp; LOCAL id:DWORD  <br>
   &nbsp;&nbsp;&nbsp; LOCAL rect:RECT  <br>
   &nbsp;&nbsp;&nbsp; .if uMsg==WM_INITDIALOG  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke InitCommonControls  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke CreateWindowEx,NULL,ADDR 
  ToolTipsClassName,NULL,\  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TTS_ALWAYSTIP,CW_USEDEFAULT,\  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hInstance,NULL  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov hwndTool,eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov id,0  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov ti.cbSize,sizeof TOOLINFO  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov ti.uFlags,TTF_SUBCLASS  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push hDlg  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pop ti.hWnd  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke GetWindowRect,hDlg,addr 
  rect  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SetDlgToolArea,hDlg,addr 
  ti,addr MainDialogText1,id,addr rect  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc id  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SetDlgToolArea,hDlg,addr 
  ti,addr MainDialogText2,id,addr rect  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc id  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SetDlgToolArea,hDlg,addr 
  ti,addr MainDialogText3,id,addr rect  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc id  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SetDlgToolArea,hDlg,addr 
  ti,addr MainDialogText4,id,addr rect  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke EnumChildWindows,hDlg,addr 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久一区二区三区| 欧美撒尿777hd撒尿| 免费美女久久99| 亚洲高清久久久| 亚洲综合在线第一页| 一区二区在线免费| 亚洲精品国久久99热| 亚洲欧美日韩在线| 天天av天天翘天天综合网| 日韩欧美亚洲国产精品字幕久久久| 91麻豆文化传媒在线观看| 免费成人在线网站| 亚洲国产视频网站| 亚洲天堂中文字幕| 久久亚洲捆绑美女| 欧美一级高清片在线观看| 91网页版在线| 高清不卡一区二区在线| 美女免费视频一区二区| 天天综合网 天天综合色| 亚洲精品国产精华液| 亚洲少妇30p| 中文字幕欧美一区| 中文字幕一区二区三区精华液| 91精品国产综合久久久久久久久久 | 久久精品免费看| 一区二区三区四区视频精品免费 | 国产成人精品免费| 国产精品白丝av| 蜜桃免费网站一区二区三区 | 蜜臀av在线播放一区二区三区 | 久久久一区二区| 处破女av一区二区| 不卡的av中国片| 欧美日韩高清一区| 日韩免费观看2025年上映的电影| 国产亚洲成年网址在线观看| 最近中文字幕一区二区三区| 亚洲国产精品综合小说图片区| 蜜臀91精品一区二区三区| 国产美女精品人人做人人爽| 99久久精品免费看| 欧美精品乱人伦久久久久久| 精品国产免费视频| 亚洲欧美日韩国产综合在线| 视频在线观看一区| 国产成人自拍网| 91麻豆精品国产91久久久使用方法| 26uuu精品一区二区| 亚洲欧美日本韩国| 久草在线在线精品观看| 色综合久久综合网欧美综合网| 欧美一区二区三区视频免费播放| 中文无字幕一区二区三区| 午夜日韩在线电影| av在线播放一区二区三区| 欧美一区二区女人| 一区二区国产视频| 国产剧情av麻豆香蕉精品| 欧美日韩成人综合在线一区二区| 国产视频在线观看一区二区三区| 亚洲一区二区在线观看视频| 国产99久久久精品| 欧美一级国产精品| 亚洲在线中文字幕| 99九九99九九九视频精品| 日韩欧美一级片| 亚洲综合激情网| 不卡的av在线播放| 久久九九国产精品| 毛片av一区二区| 欧美男生操女生| 亚洲免费在线电影| 国产99久久久久| 精品国产凹凸成av人导航| 午夜一区二区三区在线观看| 99视频国产精品| 久久久久九九视频| 久久99热这里只有精品| 欧美美女一区二区三区| 亚洲精品中文字幕乱码三区| 国产91精品欧美| 久久日韩粉嫩一区二区三区| 三级在线观看一区二区| 欧美丝袜自拍制服另类| 亚洲私人黄色宅男| 99久久久精品免费观看国产蜜| 久久精品无码一区二区三区| 老司机午夜精品| 欧美电视剧在线看免费| 蜜臀av在线播放一区二区三区| 欧美日韩黄视频| 亚洲国产成人高清精品| 欧美在线观看你懂的| 亚洲欧美另类综合偷拍| 99久久99精品久久久久久| 国产精品理伦片| av一区二区不卡| 国产精品萝li| 99久久免费精品高清特色大片| 国产精品的网站| 91免费版在线看| 亚洲精品欧美在线| 色哟哟日韩精品| 亚洲国产另类av| 欧美精品久久久久久久久老牛影院| 亚洲国产精品一区二区久久| 欧美日韩视频在线第一区 | 美女网站一区二区| 91精品国产综合久久久蜜臀粉嫩| 日韩国产精品久久| 欧美成人免费网站| 国产原创一区二区| www国产精品av| 成人免费视频网站在线观看| 国产精品美女久久久久久久网站| 99精品热视频| 亚洲一区二区三区四区不卡| 精品视频一区二区不卡| 捆绑调教一区二区三区| 久久久久久99久久久精品网站| 福利视频网站一区二区三区| 亚洲日韩欧美一区二区在线| 91福利区一区二区三区| 无吗不卡中文字幕| 精品国产电影一区二区| 不卡视频在线看| 亚洲成人黄色影院| 日韩亚洲欧美中文三级| 国产精品亚洲一区二区三区在线| 国产精品无遮挡| 在线观看不卡一区| 美腿丝袜一区二区三区| 欧美国产日韩在线观看| 日本久久电影网| 美女一区二区久久| 国产精品卡一卡二卡三| 欧美丰满美乳xxx高潮www| 国精产品一区一区三区mba视频| 中文字幕在线不卡视频| 欧美精品在欧美一区二区少妇| 裸体歌舞表演一区二区| 日韩美女久久久| 91精品国产品国语在线不卡| 成人一区在线看| 午夜视频在线观看一区| 国产亚洲精品中文字幕| 欧美色大人视频| 国产精品一区二区在线观看不卡 | 欧美激情在线一区二区三区| 欧美伊人久久大香线蕉综合69| 日韩av中文字幕一区二区三区| 国产精品你懂的| 欧美一区二区大片| 不卡电影一区二区三区| 蜜臀av一区二区三区| 亚洲免费视频成人| 久久这里只有精品6| 欧美日韩一区视频| 成人av在线一区二区| 日产欧产美韩系列久久99| 亚洲色图欧美偷拍| 精品国产一区二区三区四区四| 在线免费观看一区| 国产v综合v亚洲欧| 日韩精品成人一区二区在线| 综合激情网...| 久久久蜜臀国产一区二区| 欧美日韩电影一区| 色综合天天性综合| 国产一区三区三区| 午夜精品久久久久久久99水蜜桃| 国产精品久久久久一区二区三区| 精品国精品国产尤物美女| 欧洲在线/亚洲| 91在线观看地址| 成人午夜又粗又硬又大| 久久草av在线| 日韩精品亚洲一区二区三区免费| 亚洲欧美色综合| 国产精品美女久久久久av爽李琼| 日韩欧美一级二级三级久久久| 欧洲av一区二区嗯嗯嗯啊| 不卡在线视频中文字幕| 久久爱另类一区二区小说| 天天色综合天天| 亚洲图片有声小说| 亚洲日本中文字幕区| 国产精品国产三级国产aⅴ无密码| 精品国产一区二区在线观看| 69堂成人精品免费视频| 91成人在线精品| 色欲综合视频天天天| 成人免费毛片app| 国产成人av一区二区三区在线| 韩国午夜理伦三级不卡影院| 久久国产精品第一页| 精品一区二区影视| 美女在线一区二区| 日本vs亚洲vs韩国一区三区二区|