我正在尝试从运行时创建的编辑控件中获取文本,并将文本从中打印到我也在运行时创建的父窗口(而不是标题栏)。我该怎么做?
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);
答案 0 :(得分:2)
您可以使用GetWindowText从编辑控件中取出文本,然后使用DrawText或TextOut进行编写。
答案 1 :(得分:1)
如果您直接使用Windows API,只需使用GetWindowText()
从文本框中获取文本,然后SetWindowText()
将文本写入另一个窗口或控件。