示例:
string=
(join`r`n LTrim
赵客缦胡缨,吴钩霜雪明。
银鞍照白马,飒沓如流星。
十步杀一人,千里不留行。
事了拂衣去,深藏身与名。
闲过信陵饮,脱剑膝前横。
将炙啖朱亥,持觞劝侯嬴。
三杯吐然诺,五岳倒为轻。
眼花耳热后,意气素霓生。
救赵挥金槌,邯郸先震惊。
)
Gui,Destroy
Gui,+HWNDhtest +AlwaysOnTop
Gui,Font,s12
Gui,Add,Edit,w280 r6 HWNDhedit,% string
Gui,Add,Button,xm y+10 gOptionGuiEvent vOption_1,追加一行
Gui,Add,Button,x+10 yp gOptionGuiEvent vOption_2,获取总行数
Gui,Add,Button,x+10 yp gOptionGuiEvent vOption_3,获取光标所在行号
Gui,Add,Button,xm y+10 gOptionGuiEvent vOption_4,获取光标所在行文本字符
Gui,Add,Button,x+10 yp gOptionGuiEvent vOption_5,滚到最后一行
Gui,Add,Button,xm y+10 gOptionGuiEvent vOption_6,获取第5行文本字符
Gui,Add,Button,x+10 yp gOptionGuiEvent vOption_7,光标位置
Gui,Add,Button,xm y+10 gOptionGuiEvent vOption_8,定位至第2行
Gui,Add,Button,x+10 yp gOptionGuiEvent vOption_9,第4行插入一行
Gui,Show,AutoSize,SendMessage操作Edit控件示例
CEdit.FocusToLine(hedit,1,True)
Return
GuiClose:
ExitApp
Return
OptionGuiEvent:
Switch A_GuiControl
{
Case "Option_1":
CEdit.Append(hedit, "我是追加的字符")
CEdit.ScrollCaret(hedit)
Case "Option_2":
Count:=CEdit.GetLineCount(hedit)
Gui,+OwnDialogs
MsgBox % Count
Case "Option_3":
Gui,+OwnDialogs
MsgBox % CEdit.GetCaretLine(hedit)
Case "Option_4":
Gui,+OwnDialogs
MsgBox % CEdit.GetLineChar(hedit)
Case "Option_5":
CEdit.ScrollCaret(hedit)
Case "Option_6":
Gui,+OwnDialogs
MsgBox % CEdit.GetLineChar(hedit,5)
Case "Option_7":
Sel:=CEdit.GetSel(hedit)
Gui,+OwnDialogs
MsgBox % Sel.start "-" Sel.end
Case "Option_8":
CEdit.FocusToLine(hedit,2)
Case "Option_9":
CEdit.InsertChar(hedit,"我是插入字符`r`n",4,False)
}
Return
控制函数:
如果有需要完善的地方大家可以接力完成,以此打造一个系列完整且有据可依的Gui控件操作扩展库。
老表威武
Control, EditPaste, 你的字符串内容, Edit1, ahk_id %htest% 可以在指定位置粘贴字符串内容
你把你的sendmessage列个目录
这事得你来做,你收集好些。因为不止我写其它人也会有的。所以收集工作你合适。跟那个闯关一样你收集是合适的更新也方便。