1 MFC中3个重绘函数:1)InvalidateRect(&Rect);2)Invalidate();3)UpdateWindow()(调用该函数时发送WM_PAINT。对应的函数时OnPaint());
一般在OnPaint中调用OnDraw函数。
OnCreat()不产生窗口,只是在窗口显示之前设置窗口的风格等属性。Create()产生窗口。OnCreateClient()在创建窗口时执行OnCreate时自动调用。
2 Dialog属性:Style:1)child(子模块,一般用于加载页面);2)Popup:弹出
3 某View中设置Tab控件,在不同的tab页面加载不同的dialog页面:
m_page1.Create(IDD_DIALOG_PAGE1,&m_tab); //m_tab是tab控件对应的变量。
tab -> page 隐藏:右键属性Advanced->HidePage
4 Rect rect;
GetWindowRect(&Rect); //获取当前窗口的大小
int cx = rect.Width();
int cy = rect.Height();
int A = GetSystemMetrics(SM_CXFULLSCREEN); //获取屏幕宽度
int B = GetSystemMetrics(SM_CYFULLSCREEN); //获取屏幕高度
双屏:设置窗口位置
int a = GetSystemMetrics(SM_CXFULLSCREEN);
CRect rect;
GetClientRect(&Rect); //获取客户区大小
MoveWindow(a,0,rect.right,rect.bottom,1);
5 ShowWindow(SW_MAXIMIZE); //最大化
ShowWindow(SW_MINIMIZE); //最小化 //若不要这两句,则窗口显示为正常大小
窗口必须有标题条和系统菜单,要想有(最大化、最小化、关闭)这三个按钮,创建窗口时必须有WS_CAPTION和WS_SYSMENU风格。
WS_MAXIMIZEBOX时,窗口显示最大化按钮
WS_MINIMIZEBOX时,窗口显示最小化按钮
在xxx.rc 文件中相应的地方添加WS_MAXIMIZEBOX和WS_MINIMIZEBOX就可以在该窗口中显示最小化按钮和最大化按钮
6 判断窗口是否是最大化:if(wndpl.showCmd == SW_MAXIMIZE) {}
7 对某控件进行操作:
1)建立与控件相对应的变量,然后操作变量。
2)GetDlgItem(IDC_xx控件IDxx);
eg: GetDlgItem(IDC_BUTTON_LEFT_OUT)->SetWindowText(_T("打开"));