Win32设置修改STATIC控件字体、颜色

来源:互联网 发布:tomcat gzip js css 编辑:程序博客网 时间:2024/05/22 14:49
#include "stdafx.h"#define IDC_FILTER_STATIC 1001HINSTANCE g_hInstance;LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam);int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){    // TODO: Place code here.    g_hInstance = hInstance;    TCHAR className[] = TEXT("my class");    WNDCLASS wndclass = {0};    wndclass.hInstance = hInstance;    wndclass.hbrBackground = (HBRUSH)COLOR_BACKGROUND;    wndclass.lpszClassName = className;    wndclass.lpfnWndProc = WindowProc;    RegisterClass(&wndclass);    HWND hMain = CreateWindow(className,"静态文本修改",WS_OVERLAPPEDWINDOW,100,100,400,300,NULL,NULL,hInstance,NULL);    if (!hMain)    {        OutputDebugString("创建窗口失败!");        return 0;    }    ShowWindow(hMain,SW_SHOW);    MSG msg;    BOOL ret;    while (ret=GetMessage(&msg,NULL,0,0))    {        TranslateMessage(&msg);        DispatchMessage(&msg);    }    return 0;}//窗口过程LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam){    static HFONT hFont;//定义静态字体变量    switch(uMsg)    {    case WM_CREATE:        {            hFont = CreateFont(12,0,0,0,0,FALSE,FALSE,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"微软雅黑");//创建字体            HWND hStatic = CreateWindow("STATIC","静态文本",WS_CHILD|WS_VISIBLE,10,10,100,25,hwnd,(HMENU)IDC_FILTER_STATIC,g_hInstance,NULL);//创建静态文本            SendMessage(hStatic,WM_SETFONT,(WPARAM)hFont,TRUE);//发送设置字体消息            break;        }    case WM_CTLCOLORSTATIC://拦截WM_CTLCOLORSTATIC消息        {            if ((HWND)lParam == GetDlgItem(hwnd,IDC_FILTER_STATIC))//获得指定标签句柄用来对比            {                SetTextColor((HDC)wParam,RGB(255,0,0));//设置文本颜色                SetBkMode((HDC)wParam,TRANSPARENT);//设置背景透明            }            return (INT_PTR)GetStockObject((NULL_BRUSH));//返回一个空画刷(必须)        }    case WM_DESTROY:        {            DeleteObject(hFont);//删除所创建字体对象            PostQuitMessage(0);            break;        }    }    return DefWindowProc(hwnd,uMsg,wParam,lParam);}
阅读全文
0 0
原创粉丝点击