MFC学习笔记(七)

一:CString与LPCTSTR类型的数据可以相互赋值。

CString str="Sunshine";

LPCTSTR lps=str;

二:AfxGetApp()->LoadStandardCursor与AfxGetApp()->LoadCursor

当加载MFC内部定义的标准光标ID时,应用AfxGetApp()->LoadStandardCursor函数,LoadCursor不起作用。

三:继承CFrameWnd的类,不需要在虚函数PostNcDestroy中用delete this释放内存,而继承自CWnd类却要。

四:获取画刷句柄:(HBRUSH)(COLOR_3DFACE),(HBRUSH) ::GetStockObject(WHITE_BRUSH)

五:CalcWindowRect与SetWindowPos联合使用,为客户区设置精确的宽高。

CMainWindow::CMainWindow(void)
{
	CString str=AfxRegisterWndClass(NULL,AfxGetApp()->LoadStandardCursor(IDC_CROSS),\
		(HBRUSH)::GetStockObject(BLACK_BRUSH),AfxGetApp()->LoadStandardIcon(IDI_WINLOGO));
	this->CreateEx(0,str,L"cyl",WS_OVERLAPPEDWINDOW,CRect(0,0,800,600),NULL,NULL);
	 CRect rect(0,0,200,100);
	 CalcWindowRect(&rect);
	 SetWindowPos(NULL,0,0,rect.Width(),rect.Height(),\
		 SWP_NOZORDER|SWP_NOMOVE|SWP_NOREDRAW);
	 CRect rc;
	 GetClientRect(&rc);
	 CString str1;
	 str1.Format(L"%d,%d",rc.Width(),rc.Height());
	 MessageBox(str1);
}

使用了CalcWindowRect,没有SetWindowPos,依然不能生效。

如果CRect rect(0,0,200,100);矩形设置过小,小于window标题栏3个按钮

的总宽度,则窗口会自动增加宽度,以容纳标题栏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值