我在C ++中创建了一个文本框(Win32) 现在我想要更改文本框形式和字体,因为它看起来很难看 我是怎么做到的?
这就是我创建文本框的方式
HWND WindowManager::textbox(int width, int height, int xPos, int yPos, LPCSTR content, bool edit_able)
{
int type = (edit_able) ? (WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL) : (WS_CHILD|WS_VISIBLE|WS_HSCROLL|ES_AUTOHSCROLL);
return CreateWindowEx(
WS_EX_CLIENTEDGE,
"EDIT",
content,
type,
xPos,
yPos,
width,
height,
window,
(HMENU)50,
GetModuleHandle(NULL),
NULL
);
}
答案 0 :(得分:1)
使用丑陋的系统字体初始化了几个Windows控件 - 如果你想要漂亮的控件,你必须自己更改字体:
// create the text box
HWND hTextBox = CreateWindowEx(...);
// 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(hTextBox, WM_SETFONT, (WPARAM)hNewFont, 0);
答案 1 :(得分:0)
WM_SETFONT
消息是您正在寻找的消息。