我是 Windows 编程的新手,并且不断遇到不同类型的问题,其中大部分我已经能够自己解决。
我手头的问题是文本区域中显示的插入符号(或光标)。指示您在哪里输入文本的东西?好吧,至少它显示出来了,但它并没有像它应该的那样闪烁。
我在 WM_CREATE 中创建了一个编辑框,如下所示:
case WM_CREATE:
{
if(!logged) {
HWND userField = CreateWindow(
"EDIT", // Predefined class; Unicode assumed
NULL, // Button text
WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT, // Styles
C_WIDTH/2 - 80, // x position
C_HEIGHT - 240, // y position
160, // Button width
25, // Button height
hwnd, // Parent window
NULL, // No menu.
(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE),
NULL); // Pointer not needed.
// initialize NONCLIENTMETRICS structure
NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof(ncm);
// obtain non-client metrics
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0);
// create the new font
HFONT hNewFont = CreateFontIndirect(&ncm.lfMessageFont);
// set the new font
SendMessage(userField, WM_SETFONT, (WPARAM)hNewFont, 0);
}
}
break;
这就是关于编辑框的所有代码。如果我不够清楚或缺少我的代码供应,我很抱歉;我不确定代码的哪些部分在这里是相关的,哪些是不相关的。我也不认为我应该在这里粘贴我的整个代码。
问题再次是文本框(userField)中的插入符号不闪烁。
如果您需要,请询问更多详细信息。