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

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

?? lion-tutorial27.htm

?? 內有一些代碼
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
  EnumChild,addr ti  <br>
   &nbsp;&nbsp;&nbsp; .elseif uMsg==WM_CLOSE  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke EndDialog,hDlg,NULL  
  <br>
   &nbsp;&nbsp;&nbsp; .else  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,FALSE  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret  <br>
   &nbsp;&nbsp;&nbsp; .endif  <br>
   &nbsp;&nbsp;&nbsp; mov eax,TRUE  <br>
   &nbsp;&nbsp;&nbsp; ret  <br>
   DlgProc endp   EnumChild proc uses edi hwndChild:DWORD,lParam:DWORD  
  <br>
   &nbsp;&nbsp;&nbsp; LOCAL buffer[256]:BYTE  <br>
   &nbsp;&nbsp;&nbsp; mov edi,lParam  <br>
   &nbsp;&nbsp;&nbsp; assume edi:ptr TOOLINFO  <br>
   &nbsp;&nbsp;&nbsp; push hwndChild  <br>
   &nbsp;&nbsp;&nbsp; pop [edi].uId  <br>
   &nbsp;&nbsp;&nbsp; or [edi].uFlags,TTF_IDISHWND  <br>
   &nbsp;&nbsp;&nbsp; invoke GetWindowText,hwndChild,addr buffer,255  <br>
   &nbsp;&nbsp;&nbsp; lea eax,buffer  <br>
   &nbsp;&nbsp;&nbsp; mov [edi].lpszText,eax  <br>
   &nbsp;&nbsp;&nbsp; invoke SendMessage,hwndTool,TTM_ADDTOOL,NULL,edi  
  <br>
   &nbsp;&nbsp;&nbsp; assume edi:nothing  <br>
   &nbsp;&nbsp;&nbsp; ret  <br>
   EnumChild endp   SetDlgToolArea proc uses edi esi hDlg:DWORD,lpti:DWORD,lpText:DWORD,id:DWORD,lprect:DWORD  
  <br>
   &nbsp;&nbsp;&nbsp; mov edi,lpti  <br>
   &nbsp;&nbsp;&nbsp; mov esi,lprect  <br>
   &nbsp;&nbsp;&nbsp; assume esi:ptr RECT  <br>
   &nbsp;&nbsp;&nbsp; assume edi:ptr TOOLINFO  <br>
   &nbsp;&nbsp;&nbsp; .if id==0  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.left,0  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.top,0  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].right  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].left  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.right,eax  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].bottom  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].top  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.bottom,eax  
  <br>
   &nbsp;&nbsp;&nbsp; .elseif id==1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].right  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].left  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.left,eax  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.top,0  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].right  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].left  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.right,eax  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].bottom  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].top  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.bottom,eax  
  <br>
   &nbsp;&nbsp;&nbsp; .elseif id==2  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.left,0  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].bottom  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].top  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.top,eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].right  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].left  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.right,eax  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].bottom  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].top  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.bottom,eax  
  <br>
   &nbsp;&nbsp;&nbsp; .else  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].right  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].left  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.left,eax  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].bottom  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].top  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr eax,1  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inc eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.top,eax  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].right  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].left  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.right,eax  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax,[esi].bottom  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub eax,[esi].top  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov [edi].rect.bottom,eax  
  <br>
   &nbsp;&nbsp;&nbsp; .endif  <br>
   &nbsp;&nbsp;&nbsp; push lpText  <br>
   &nbsp;&nbsp;&nbsp; pop [edi].lpszText  <br>
   &nbsp;&nbsp;&nbsp; invoke SendMessage,hwndTool,TTM_ADDTOOL,NULL,lpti  
  <br>
   &nbsp;&nbsp;&nbsp; assume edi:nothing  <br>
   &nbsp;&nbsp;&nbsp; assume esi:nothing  <br>
   &nbsp;&nbsp;&nbsp; ret  <br>
   SetDlgToolArea endp  <br>
   end start </blockquote>
Analysis:After the main dialog window is created, we create the tooltip control 
with CreateWindowEx. 
<blockquote>  invoke InitCommonControls  <br>
   invoke CreateWindowEx,NULL,ADDR ToolTipsClassName,NULL,\  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TTS_ALWAYSTIP,CW_USEDEFAULT,\  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\  
  <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hInstance,NULL  <br>
   mov hwndTool,eax </blockquote>
After that, we proceed to define four tools for each corner of the dialog box. 
 &nbsp;&nbsp;&nbsp; mov id,0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; used 
as the tool ID  <br>
 &nbsp;&nbsp;&nbsp; mov ti.cbSize,sizeof TOOLINFO  <br>
 &nbsp;&nbsp;&nbsp; mov ti.uFlags,TTF_SUBCLASS&nbsp;&nbsp;&nbsp; ; tell the 
tooltip control to subclass the dialog window.  <br>
 &nbsp;&nbsp;&nbsp; push hDlg  <br>
 &nbsp;&nbsp;&nbsp; pop ti.hWnd&nbsp;&nbsp;&nbsp; ; handle to the window that 
contains the tool  <br>
 &nbsp;&nbsp;&nbsp; invoke GetWindowRect,hDlg,addr rect&nbsp;&nbsp;&nbsp; ; 
obtain the dimension of the client area  <br>
 &nbsp;&nbsp;&nbsp; invoke SetDlgToolArea,hDlg,addr ti,addr MainDialogText1,id,addr 
rect  
<p>We initialize the members of <b>TOOLINFO </b>structure. Note that we want to 
  divide the client area into 4 tools so we need to know the dimension of the 
  client area. That's why we call <b>GetWindowRect</b>. We don't want to relay 
  mouse messages to the tooltip control ourselves so we specify <b>TIF_SUBCLASS 
  </b>flag. <br>
  <b>SetDlgToolArea</b> is a function that calculates the bounding rectangle of 
  each tool and registers the tool to the tooltip control. I won't go into gory 
  detail on the calculation, suffice to say that it divides the client area into 
  4 areas with the same sizes. Then it sends <b>TTM_ADDTOOL</b> message to the 
  tooltip control, passing the address of the <b>TOOLINFO</b> structure in the 
  lParam parameter. 
<p><b> &nbsp;&nbsp;&nbsp; invoke SendMessage,hwndTool,TTM_ADDTOOL,NULL,lpti </b> 
<p>After all 4 tools are registered, we can go on to the buttons on the dialog 
  box. We can handle each button by its ID but this is tedious. Instead, we will 
  use <b>EnumChildWindows</b> API call to enumerate all controls on the dialog 
  box and then registers them to the tooltip control. <b>EnumChildWindows</b> 
  has the following syntax: 
<blockquote><b>EnumChildWindows proto hWnd:DWORD, lpEnumFunc:DWORD, lParam:DWORD</b></blockquote>
hWnd is the handle to the parent window. lpEnumFunc is the address of the <b>EnumChildProc</b> 
function that will be called for each control enumerated. lParam is the application-defined 
value that will be passed to the <b>EnumChildProc</b> function. The <b>EnumChildProc</b> 
function has the following definition: 
<blockquote><b>EnumChildProc proto hwndChild:DWORD, lParam:DWORD</b></blockquote>
hwndChild is the handle to a control enumerated by<b> EnumChildWindows</b>. lParam 
is the same lParam value you pass to <b>EnumChildWindows</b>. <br>
In our example, we call<b> EnumChildWindows</b> like this: 
<blockquote><b> invoke EnumChildWindows,hDlg,addr EnumChild,addr ti </b></blockquote>
We pass the address of the <b>TOOLINFO</b> structure in the lParam parameter because 
we will register each child control to the tooltip control in the <b>EnumChild 
</b>function. If we don't use this method, we need to declare <b>ti </b>as a global 
variable which can introduce bugs. <br>
When we call<b> EnumChildWindows</b>, Windows will enumerate the child controls 
on our dialog box and call the <b>EnumChild</b> function once for each control 
enumerated. Thus if our dialog box has two controls, <b>EnumChild</b> will be 
called twice. <br>
The EnumChild function fills the relevant members of the TOOLINFO structure and 
then registers the tool with the tooltip control. 
<blockquote><b> EnumChild proc uses edi hwndChild:DWORD,lParam:DWORD </b> 
  <br>
  <b> &nbsp;&nbsp;&nbsp; LOCAL buffer[256]:BYTE </b> <br>
  <b> &nbsp;&nbsp;&nbsp; mov edi,lParam </b> <br>
  <b> &nbsp;&nbsp;&nbsp; assume edi:ptr TOOLINFO </b> <br>
  <b> &nbsp;&nbsp;&nbsp; push hwndChild </b> <br>
  <b> &nbsp;&nbsp;&nbsp; pop [edi].uId&nbsp;&nbsp;&nbsp; ; we use the whole 
  client area of the control as the tool </b> <br>
  <b> &nbsp;&nbsp;&nbsp; or [edi].uFlags,TTF_IDISHWND </b> <br>
  <b> &nbsp;&nbsp;&nbsp; invoke GetWindowText,hwndChild,addr buffer,255 </b> 
  <br>
  <b> &nbsp;&nbsp;&nbsp; lea eax,buffer&nbsp;&nbsp;&nbsp; ; use the window 
  text as the tooltip text </b> <br>
  <b> &nbsp;&nbsp;&nbsp; mov [edi].lpszText,eax </b> <br>
  <b> &nbsp;&nbsp;&nbsp; invoke SendMessage,hwndTool,TTM_ADDTOOL,NULL,edi </b> 
  <br>
  <b> &nbsp;&nbsp;&nbsp; assume edi:nothing </b> <br>
  <b> &nbsp;&nbsp;&nbsp; ret </b> <br>
  <b> EnumChild endp </b></blockquote>
Note that in this case, we use a different type of tool: one that covers the whole 
client area of the window. We thus need to fill the <b>uID</b> field with the 
handle to the window that contains the tool. Also we must specify <b>TTF_IDISHWND</b> 
flag in the <b>uFlags</b> member. <strong> </strong>
<hr size="1">
<div align="center"> This article come from Iczelion's asm page, Welcom to <a href="http://asm.yeah.net">http://asm.yeah.net</a></div>

</body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品男人天堂av| jiyouzz国产精品久久| 日本一区二区三区免费乱视频| 国产视频一区二区在线| 中文字幕一区二区三区蜜月| 国产精品成人午夜| 天天影视涩香欲综合网| 国产成人在线电影| 欧美白人最猛性xxxxx69交| 欧美国产视频在线| 久久免费精品国产久精品久久久久 | 久久久精品影视| 91精品国产91久久久久久最新毛片 | 国产成人免费视频精品含羞草妖精| 欧美巨大另类极品videosbest | 欧美午夜一区二区三区 | 国产精品嫩草影院av蜜臀| 国产91精品一区二区麻豆亚洲| 欧美激情艳妇裸体舞| 男女激情视频一区| 亚洲欧美激情一区二区| 欧美一级二级三级蜜桃| 欧美三级中文字| 亚洲欧美日韩成人高清在线一区| 欧美国产精品一区| 亚洲综合免费观看高清完整版在线| 一区二区视频在线| 久久超级碰视频| 欧美日韩高清一区二区三区| 色av综合在线| 91国在线观看| 欧美日韩第一区日日骚| 欧美性一级生活| 欧美日本一区二区在线观看| 欧美日韩国产三级| 日韩女同互慰一区二区| 欧美岛国在线观看| 国产三级精品三级在线专区| 欧美激情综合在线| 一区二区三区日韩欧美精品| 亚洲午夜久久久| 九九**精品视频免费播放| 国产麻豆精品theporn| 99久久综合国产精品| 欧美唯美清纯偷拍| 精品日韩av一区二区| 自拍偷拍亚洲综合| 日韩精品电影一区亚洲| 国产麻豆91精品| 欧美日韩国产色站一区二区三区| 日韩欧美一区在线观看| 亚洲人成7777| 国产a精品视频| 欧美一区二区三区电影| 国产精品狼人久久影院观看方式| 一区二区欧美国产| 国产原创一区二区三区| 欧美视频日韩视频在线观看| 中文一区在线播放| 亚洲精品老司机| 黑人巨大精品欧美一区| 欧美日韩一区二区三区四区 | 欧美国产精品久久| 精品无人码麻豆乱码1区2区| 欧美私模裸体表演在线观看| 欧美极品xxx| 成人av影院在线| 国产精品免费aⅴ片在线观看| 人人狠狠综合久久亚洲| 欧美一卡2卡3卡4卡| 奇米精品一区二区三区在线观看| 色狠狠av一区二区三区| 亚洲综合一二三区| 在线免费观看日韩欧美| 一区二区三区日韩精品| 91蝌蚪国产九色| 亚洲va天堂va国产va久| 在线播放亚洲一区| 午夜电影网一区| 日韩欧美高清一区| 国产乱人伦偷精品视频免下载| 2023国产精品视频| 成人h版在线观看| 亚洲国产精品麻豆| 精品国产精品网麻豆系列| 国产伦精品一区二区三区在线观看| 国产视频不卡一区| 91国产成人在线| 美女在线视频一区| 中文字幕在线不卡国产视频| 欧洲一区二区av| 国产一区二区三区免费| 亚洲欧洲中文日韩久久av乱码| 欧美色综合久久| 国产乱子轮精品视频| 亚洲最新视频在线观看| 国产亚洲精品精华液| 欧美在线免费视屏| 成人av在线资源网站| 性感美女久久精品| 亚洲欧洲精品成人久久奇米网| 精品污污网站免费看| 成人深夜在线观看| 久久国产尿小便嘘嘘尿| 日韩经典一区二区| 亚洲欧美日韩国产另类专区| 国产精品免费视频一区| 精品国产凹凸成av人网站| 欧美亚洲另类激情小说| 99精品视频在线免费观看| 激情五月婷婷综合| 精久久久久久久久久久| 国产一区二区三区最好精华液| 美女尤物国产一区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲va中文字幕| 日韩vs国产vs欧美| 久久99在线观看| 国产成人精品免费| jlzzjlzz国产精品久久| 91国偷自产一区二区开放时间 | 欧美国产日韩a欧美在线观看| 久久综合色婷婷| 日本一区二区视频在线| 日本一区二区三区在线不卡| 亚洲人123区| 日本91福利区| 成人免费毛片aaaaa**| 91亚洲精品久久久蜜桃网站 | 99精品一区二区三区| 欧美色大人视频| 久久蜜臀中文字幕| 一区二区三区在线观看国产| 免费在线观看一区| 一本色道a无线码一区v| 555夜色666亚洲国产免| 国产精品私房写真福利视频| 亚洲另类春色国产| 国产精品综合二区| 在线观看欧美日本| 欧美国产一区二区| 久久精品国产99国产精品| 国产成a人亚洲精| 欧美日韩一区国产| 日韩毛片高清在线播放| 精品一区二区三区久久| 欧美丝袜丝交足nylons| 中文字幕一区二区三区四区| 美女被吸乳得到大胸91| 在线精品国精品国产尤物884a| wwwwxxxxx欧美| 国产一区二区成人久久免费影院| 欧美自拍丝袜亚洲| 亚洲美女一区二区三区| 99免费精品在线| 《视频一区视频二区| 成人免费观看av| 国产精品九色蝌蚪自拍| 91亚洲国产成人精品一区二三| 国产精品护士白丝一区av| 国产成人午夜精品影院观看视频 | 欧美高清精品3d| 日韩高清电影一区| 日韩一区二区免费在线观看| 麻豆91精品视频| 欧美激情在线观看视频免费| 色综合久久久网| 日日摸夜夜添夜夜添国产精品| 欧美怡红院视频| 日本午夜精品一区二区三区电影| 91超碰这里只有精品国产| 伦理电影国产精品| 国产精品久久久久婷婷二区次 | 欧美日韩精品一区二区三区| 亚洲成人高清在线| 久久久不卡网国产精品二区| www.综合网.com| 五月激情六月综合| 国产精品亲子乱子伦xxxx裸| 色综合婷婷久久| 韩国一区二区三区| 日日夜夜免费精品| 最新中文字幕一区二区三区| 欧美大肚乱孕交hd孕妇| 日本久久一区二区| 国产aⅴ综合色| 蜜臀av亚洲一区中文字幕| 亚洲一区二区在线观看视频| 日韩精品一区二区三区视频播放 | 日韩亚洲欧美中文三级| 99久久精品国产观看| 亚洲v中文字幕| 亚洲高清免费视频| 《视频一区视频二区| 一区免费观看视频| 久久久久久久国产精品影院| 精品国产免费一区二区三区四区 | 99视频精品在线| 国产99久久久国产精品免费看 | 亚洲国产欧美另类丝袜|