gpt4 book ai didi

python - 如何使用 python win32 将多行写入文本框?

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:11 27 4
gpt4 key购买 nike

我有一个包含文本框组件的 C 程序。我想让 python GUI 将文本写入此文本框。目前,我可以使用以下方式写入文本框 HWND:

def winFunc(hwnd, lparam):
s = win32gui.GetWindowText(hwnd)
if s == "":
win32gui.SendMessage(hwnd, win32con.WM_SETTEXT, 0, lparam)

hwnd = win32gui.FindWindow("Graph Program", None)
win32gui.EnumChildWindows(hwnd, winFunc, text)

此代码会将文本写入文本框,但无法将换行符上的文本附加到文本框。是否可以读取当前文本框中的文本,或者是否可以将文本添加到文本框中?我不熟悉使用 Windows API。另外,是否可以将文本写成不同的颜色?文本框类是 RICHEDIT20A

最佳答案

追加文字

  1. 发送EM_SETSEL将所选内容移动到 Rich Edit 控件末尾的消息。使用 WM_GETTEXTLENGTH 找出编辑控件中有多少个字符。
  2. 发送EM_REPLACESEL消息来替换选择。如果选择点在控件的末尾,则替换与追加相同。

不要尝试使用 WM_GETTEXTWM_SETTEXT,因为它很快就会变得低效,更不用说格式没有保留的事实了。

格式化文本

使用 EM_SETCHARFORMAT格式化文本。更多详情请访问 MSDN .

关于python - 如何使用 python win32 将多行写入文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6900660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com