1、刷新桌面
//第一个可以
SendMessage(GetDesktopWindow(),WM_SYSCOLORCHANGE,0,0);
//第二个没有试验
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
2、遍历控件
CWnd* pWnd = GetWindow(GW_CHILD);
char cClassName[255]={0};
while(pWnd)
{
GetClassName(pWnd->GetSafeHwnd(),cClassName,255);//得到控件的类名,主要有Edit,Button,Static等等
//CDataTimeCtrl 是"SysDateTimePick32"
if(strcmp(cClassName,"Button") == 0) //是Button控件
{
CButton *pBtn = (CButton*) pWnd;
pBtn->SetWindowText(_T("hah"));//(BUTTON_BKCOLOR); //按钮背景色
}
pWnd = pWnd->GetWindow(GW_HWNDNEXT);
}
3. CStatusBar
CStatusBar m_wndStatusBar;
m_wndStatusBar.Create(this/*, WS_CHILD|WS_VISIBLE|CBRS_BOTTOM*/);
m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));
this->m_wndStatusBar.SetPaneInfo(0,ID_INDICATOR_MSG, SBPS_STRETCH,0);
this->m_wndStatusBar.SetPaneInfo(1,ID_INDICATOR_TIME, SBPS_NORMAL,400);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,ID_INDICATOR_MSG);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,ID_INDICATOR_TIME);
4软件图标等
CSystemTray m_TrayIcon;
CString strToolTip;
this->GetWindowText(strToolTip);
m_TrayIcon.Create(this, WM_ICON_NOTIFY, strToolTip,
m_hIcon, IDR_TRAY_MENU);
//m_TrayIcon.MinimiseToTray(this);
m_TrayIcon.SetMenuDefaultItem(ID_TRAYMENU_OPEN, FALSE);
//修改小图标和大图标
m_hIcon =AfxGetApp()->LoadIcon(IDR_WMROK);
SetIcon(m_hIcon,TRUE);
SetIcon(m_hIcon,FALSE);
m_TrayIcon.SetIcon(m_hIcon);
5. 将CList开始处添加上Check Box控件 ListView_SetExtendedListViewStyle(m_VehicleListCtrl.m_hWnd, LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES);
6.按F1-F12的过程:
BOOL CDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam) {
case VK_F1 :
OnBnClickedButtonOneShotAndQuery();
return TRUE;
case ......
default:
break;
}
return CDialog::PreTranslateMessage(pMsg);
]
6 在控件继承类中编辑输入文字的颜色:下面有些定义有问题,请自行更正,大概意思如此
在pDC->DrawText(*,*);中修改为如下:
COLOREFE col=pDC->SetTextColor(RGB(255,255,255));
pDC->SetBkMode(TRANSPARENT);
pDC->DrawText(*,*);
pDC->SelectObject(col);