win32sdk编程如何改变一个static控件上文字的字体和颜色
解决方案 »
- 关于多行编辑框中回车键的相应
- mfc如何掉用shell脚本
- ADO删除记录问题
- VS.NET 2003下如何添加 DataGrid 控件,急急急!
- 请问能不能在两个程序之间共享同一个类?
- 三星上将(马上就是三等兵了)】请辞版主
- 请教:VC编译器中,“WorkSpace”(包含类、资源、文件三个页面)是怎么做出来的?是CPropertySheet+CPropertyPage结构吗?谢谢!
- 在VC中什么函数可以得到系统程序所在的盘
- 强制类型转换:int i=244;BYTE b=(BYTE)i;为什么结果b会等于零?BYTE不是无符号的吗?
- windows程序设计和VC++哪个先学比较好??
- 在Picture控件(CStatic)上再放入其他控件,为何其他ActiveX控件在设计和运行时不能正常显示?
- 有谁知道小榕朔雪软件的那个效果怎样实现的啊?解决的50分~
这个函数是CStatic基类的成员函数
第九章有的
记得在SetFont后不要把字体删除了,要保留,直到使用字体的控件销毁为止。
记得在SetFont后不要把字体删除了,要保留,直到使用字体的控件销毁为止。
记得在SetFont后不要把字体删除了,要保留,直到使用字体的控件销毁为止。
WM_CTLCOLOREDIT
WM_CTLCOLORBTN
WM_CTLCOLOR***** 反正有一些
在msdn里找,有详细使用说明
关于对话框中要处理的控件的ID是IDC_MYSTATIC// “关于”框的消息处理程序。
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
static HFONT hfont_static; // 自定义字体的句柄
static HWND hwnd_static; // Static 控件的句柄 switch (message)
{
case WM_INITDIALOG:
// 建立自定义字体
LOGFONT lgf;
GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lgf), &lgf);
lgf.lfWeight = FW_BOLD;
hfont_static = CreateFontIndirect(&lgf);
// 设置字体
hwnd_static = GetDlgItem(hDlg, IDC_MYSTATIC); //***
SendMessage(hwnd_static, WM_SETFONT, (WPARAM)hfont_static, (LPARAM)TRUE); //***
return TRUE; case WM_CTLCOLORSTATIC:
// 改变文本颜色和背景颜色
if((HWND)lParam == hwnd_static)
{
SetTextColor((HDC)wParam, 0xff0000); //***
}
else
{
SetTextColor((HDC)wParam, GetSysColor(COLOR_WINDOWTEXT));
}
SetBkColor((HDC)wParam, GetSysColor(COLOR_BTNFACE));
SetWindowLong(hDlg, DWL_MSGRESULT, (LONG)TRUE);
return (LRESULT)GetSysColorBrush(COLOR_BTNFACE); case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
DeleteObject(hfont_static);
EndDialog(hDlg, LOWORD(wParam)); // 销毁自定义字体
return TRUE;
}
break;
}
return FALSE;
}