如何使用python win32将多行写入文本框?
我有一个C程序,它有一个文本框组件。我想让python GUI将文本写入此文本框。目前,我可以使用以下方法写入文本框如何使用python win32将多行写入文本框?,python,c,winapi,textbox,Python,C,Winapi,Textbox,我有一个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 Prog
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
WM_GETTEXTLENGTH
查找编辑控件中的字符数WM_GETTEXT
&WM_SETTEXT
,因为它很快就会变得效率低下,更不用说格式没有保留
格式化文本
使用设置文本格式。更多详细信息请访问。追加文本
WM_GETTEXTLENGTH
查找编辑控件中的字符数WM_GETTEXT
&WM_SETTEXT
,因为它很快就会变得效率低下,更不用说格式没有保留
格式化文本
使用设置文本格式。更多详细信息请参阅。我仍然无法找到更改文本颜色的方法,以便在python中每个附加行都是一种新颜色。我找不到使用python调用EM_SETCHARFORMAT的方法。我在考虑win32gui.SendMessage(hwnd,EM_SETCHARFORMAT,SCF_SELECTION,format),但我也不知道如何(在python中)指定Charformat结构。我想您可能需要使用ctypes结构类来复制
Charformat
。我还要指出,你应该一次问一个问题。你问了关于添加文本和设置文本格式的问题。我发布了一个新问题,重点是颜色格式@gh4x很好,我想这正是应该做的。我仍然找不到一种方法来更改文本颜色,以便在python中每个附加行都是一种新颜色。我找不到使用python调用EM_SETCHARFORMAT的方法。我在考虑win32gui.SendMessage(hwnd,EM_SETCHARFORMAT,SCF_SELECTION,format),但我也不知道如何(在python中)指定Charformat结构。我想您可能需要使用ctypes结构类来复制Charformat
。我还要指出,你应该一次问一个问题。你问了关于添加文本和设置文本格式的问题。我发布了一个新问题,重点是颜色格式@gh4x很好,我想这正是应该做的。