C++ 如何将文本从编辑控件设置为窗口

C++ 如何将文本从编辑控件设置为窗口,c++,C++,我试图从运行时创建的编辑控件中获取文本,并将其中的文本打印到运行时创建的父窗口(而不是标题栏)上。我该怎么做 const int bufferSize = 1024; char textBuffer[bufferSize] = ""; HWND Editbox = FindWindowEx(hWnd, NULL, "Edit", NULL); SendMessage(Editbox, WM_GETT

我试图从运行时创建的编辑控件中获取文本,并将其中的文本打印到运行时创建的父窗口(而不是标题栏)上。我该怎么做

            const int bufferSize = 1024;
            char textBuffer[bufferSize] = "";

            HWND Editbox = FindWindowEx(hWnd, NULL, "Edit", NULL);
            SendMessage(Editbox, WM_GETTEXT, 
                (WPARAM)bufferSize, (LPARAM)textBuffer);
            HWND Picbox = FindWindowEx(hWnd, NULL, "Picbox", NULL);

            RECT Picbox_Rect;
            GetClientRect(Picbox,&Picbox_Rect);
            Picbox_Rect.top = 3;
            Picbox_Rect.left = 3;
            hdc = GetDC (Picbox) ;
            HFONT fnt = CreateFont(14,0,0,0,FW_DONTCARE,
                FALSE,FALSE,FALSE,DEFAULT_CHARSET,
                OUT_OUTLINE_PRECIS,CLIP_DEFAULT_PRECIS,
                0, VARIABLE_PITCH,TEXT("Verdana"));
            SelectObject(hdc, fnt);
            SetTextColor(hdc,RGB(0,0,255));
            SetBkMode(hdc, TRANSPARENT);
            DrawText(hdc, textBuffer, strlen (textBuffer), 
                &Picbox_Rect, DT_LEFT);
            ReleaseDC (Picbox, hdc) ;
            DeleteObject(fnt);
                //InvalidateRect(Picbox, NULL, TRUE);

您可以使用从编辑控件中取出文本并使用或写入它。

您可以使用从编辑控件中取出文本并使用或写入它。

如果您要直接进入Windows API,只需使用
GetWindowText()
从文本框中获取文本,然后
设置WindowText()
将文本写入另一个窗口或控件。

如果您直接进入Windows API,只需使用
GetWindowText()
从文本框获取文本,然后使用
SetWindowText()
将文本写入另一个窗口或控件。

向我们展示一些可能的代码?@eric,最简单的方法是将
GetWindowText
WM_GETTEXT
TextOut
结合使用。我会让你自己定制它。也许给我们看一些代码?@eric,最简单的方法是
GetWindowText
WM\u GETTEXT
TextOut
结合使用。我想他不想把它写在标题上。我使用的是Windows API,我可以用GetWindowText抓取文本,用SetWindowText()将其打印到一个静态控件,但我似乎无法将其打印到主窗口或辅助(子)窗口。我无法用TextOut或DrawText打印。@eric,你如何使用它们?您是否拥有通过
GetDC
获得的正确的
HDC
(请记住稍后使用
ReleaseDC
)?Chris I添加了GetDC和ReleaseDC,但仍然一无所获。更新了我的帖子。@eric,您只能调用
TextOut
DrawText
来响应WM_PAINT消息。否则,您的更改可能会被覆盖。我想他不想把它写在标题栏上。我正在使用Windows API,我可以用GetWindowText抓取文本,并用SetWindowText()将其打印到静态控件,但我似乎无法将其打印到主或辅助(子)窗口。我无法用TextOut或DrawText打印。@eric,你如何使用它们?您是否拥有通过
GetDC
获得的正确的
HDC
(请记住稍后使用
ReleaseDC
)?Chris I添加了GetDC和ReleaseDC,但仍然一无所获。更新了我的帖子。@eric,您只能调用
TextOut
DrawText
来响应WM_PAINT消息。否则,您的更改可能会被覆盖。