最近在跟孩子学习DEV C++,使用Win32 API生成桌面 Windows 应用,尝试自己动手制作一个简易计算器应用程序。使用CreateWindow函数生成的控件背景和字体都是系统默认的,感觉缺乏些个性化。经查阅了资料找到一些方法,可以改变控件默认字体及静态控件的背景、文本颜色等,相比FillRect、DrawText等函数简单、好用,特此记录分享。
一、修改控件的默认字体、大小
通过SendMessage函数发送WM_SETFONT消息,将wParam参数设置为新创建的字体,并将lParam参数设置为TRUE,则控件将重新绘制自身,即可在控件创建后使用我们设置的字体。此消息不返回值,且适用于所有控件,而不仅仅是对话框中的控件。示例如下:
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
switch (Message) {
case WM_CREATE: {
//创建窗口按扭
h0 = CreateWindow("button", "0", WS_CHILD | WS_VISIBLE, 84, 363, 80, 60, hwnd,
(HMENU)0, hInst, NULL);
h1 = CreateWindow("button", "1", WS_CHILD | WS_VISIBLE, 2, 300, 80, 60, hwnd,
(HMENU)1, hInst, NULL);
//...省略...
sc = CreateWindow("static", "0", SS_RIGHT | WS_CHILD | WS_VISIBLE, 2, 48, 323,
30, hwnd, (HMENU)20, hInst, NULL); //计算结果右对齐输出,静态控件

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



