随笔分类 -  代码片段

摘要:以前在使用VB的时候经常会遇到用鼠标拖动无标题窗口的情况。记得当时的做法是引用API,先后调用“ReleaseCapture”和“SendMessage”,并定义“HTCAPTION”和“WM_NCLBUTTONDOWN”常量,代码不多,用起来也比较简洁。现在使用了AutoHotkey,再次探索这个使用,竟然发现实现起来更加简单明了,直接使用一个“SendMessage”即可:PostMessage, 0xA1, 2, , , Ahk_Id %Win_ID%其中,“Win_ID”为要拖动的窗口的hwnd(注意:是窗口的hwnd,不是被点击控件的hwnd)。题外话:在AHK中,能响应点击后拖动事 阅读全文
posted @ 2014-03-05 09:41 cui-YF 阅读(1972) 评论(0) 推荐(0)
摘要:将一个 DIV 嵌套进另一个 DIV 容器,并保持水平居中、垂直居中,可使用以下代码: <html> <head> <title>div居中嵌套</title> <style type="text/css"> .big{ width: 800px; height: 500px; background 阅读全文
posted @ 2014-02-12 16:18 cui-YF 阅读(235) 评论(0) 推荐(0)
摘要:在制作网页中,我们经常会碰到 min/max-width, min/max-height 在IE6底下是无效的,这也是 web 设计师最头疼的问题之一,以下的方法可以解决这些难题,并且比较简约。当然,如果你还有更好的方法,希望能留言给我: <div style="max-width:250px;"> 阅读全文
posted @ 2013-12-29 22:35 cui-YF 阅读(523) 评论(0) 推荐(0)
摘要:AHK中,GuiControl 与 GuiControlGet是操作GUI的两个极其重要命令,可以说,没有这两个命令,AHK对Gui控件的操作就无法实现。但在具体使用中,经常会遇到一个问题:我使用了这个命令,到底执行成功了没有?某些控件,如Text、Edit会改变其内容更改,我们可以察觉到,但有的命令就没这么走运了,比如:GuiControl, ChooseString, ControlID, String如果使用该命令对 DropDownList 控件进行操作,操作结果就不容易看出来了。某些时候,该命令并没有正确执行,将有可能影响后续操作。但 GuiControl 与 GuiControlG 阅读全文
posted @ 2013-12-19 13:45 cui-YF 阅读(775) 评论(0) 推荐(0)
摘要:使用AHK这么久,直到今天才注意到 ListView 的LV_Modify() 函数还有个“col”选项,看官方帮助说明:Col: 指定单词 Col 后紧跟着列号,从此列开始往后应用参数 Col1 和其后参数的内容。此选项通常和LV_Modify()一起使用来修改行中的个别字段,不会影响它们左边的那些字段。翻译的看不懂?没关系,看官方英文原版:Col: Specify the word Col followed immediately by the column number at which to begin applying the parameters Col1 and beyond. 阅读全文
posted @ 2013-12-12 22:21 cui-YF 阅读(467) 评论(0) 推荐(0)
摘要:贴一个 AHK调用系统颜色对话框的函数Dlg_Color:Dlg_Color(ByRef Color, hGui=0) ;调用系统颜色对话框{ clr := ((Color & 0xFF) > 16) & 0xFF) VarSetCapacity(CHOOSECOLOR, 0x24, 0), VarSetCapacity(CUSTOM, 64, 0) ,NumPut(0x24, CHOOSECOLOR, 0) ; DWORD lStructSize ,NumPut(hGui, CHOOSECOLOR, 4) ; HWND ... 阅读全文
posted @ 2013-12-12 22:02 cui-YF 阅读(1254) 评论(0) 推荐(0)
摘要:以下代码获取前3列的横坐标:d_Index为每列的序号(从0开始),lv_ID为ListView的关联变量名,colW_1、colW_2、colW_3分别为获取到的每列的横坐标。Loop, 3 ;以获取前3列的坐标为例{ dIndex:=A_Index-1 ;列序号从0开始 SendMessage, 4125, %dIndex%, , , ahk_id %lv_ID% ;调用API函数 colW_%A_Index%:=ErrorLevel ;获取坐标值}获取到每列坐标以后,就可以通过简单的计算得到每列的宽度。注意:计算列宽时需注意坐标模式是相对于活动窗口还是屏幕(调用... 阅读全文
posted @ 2013-12-12 21:50 cui-YF 阅读(958) 评论(0) 推荐(0)
摘要:分享一段从AHK中文论坛淘来的下载函数:UrlDownloadToVar():UrlDownloadToVar(URL,Timeout=-1) ;使用内置的UrlDownloadToFile命令,在多线程情况下,很容易出现线程退出了,文件却没正常下载的情况。在单进程情况下,很容易卡死在“牛杂网​”上。速度亦远慢于此函数{ ComObjError(0) WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1") WebRequest.Open("GET", URL, true) ;true为异步获取,默 阅读全文
posted @ 2013-12-02 12:58 cui-YF 阅读(783) 评论(0) 推荐(0)