学习环境为:WinXP + Visual C++ 6.0
===========================
VC 中奇怪的注释
//{{AFX_DATA(CFormTabView)
enum { IDD = IDD_FORM_TAB };
CTabCtrl m_TabCtrl;
//}}AFX_DATA
在VC++中看到了//后面的东西你还不能删除,明明就是C++中的注释还不能删除。
这部分东西由AppWizard产生,为ClassWizard服务的。一旦删除了或把注释中间的内容自己手动修改了(除开你知道ClassWizard怎么使用这注释,最好不要自己手工修改这里面的东西)除非你再也不用ClassWizard了,要不然错误一堆,很麻烦。
麻烦的VC, 麻烦的MFC,学习的好痛苦啊!
也得学啊!
=========================
OnSize中调整控件大小注意指针的有效性:
if (m_TabCtrl.GetSafeHwnd())
{
m_TabCtrl.MoveWindow(0, 0, cx, cy, TRUE);
m_monitorDlg.MoveWindow(0, 0, cx, cy - 30, TRUE);
}
-------------
VC中格式化代码: ALT + F8
-------------
用代码修改一个窗口的标题:
this->SetWindowText(_T("Title Name"));
最好是在 virtual BOOL OnInitDialog();函数添加,但不知道为什么,我的Visual C++ 6.0就是没办法让我添加哪个虚函数。
没找到原因,最后我添加到:OnPaint()中了。
-------------
很奇怪VC中既然没有一个简单的输入对话框函数什么的,没办法自己简单的做了一个,关键部分代码:
int CSimpleInputDlg::GetSimpleText(LPCTSTR lpCaption, LPCTSTR lpHint, CString &sInput)
{
m_sCaption = lpCaption;
m_sHint = lpHint;
if (this->DoModal() == IDOK)
{
m_sInput.TrimLeft();
m_sInput.TrimRight();
sInput.Format("%s", m_sInput);
return 0;
}
return -1;
}
最后sInput可以返回输入的字符。
调用的方法:
CSimpleInputDlg dlg;
CString str;
if (dlg.GetSimpleText(_T("Input Node Name"), _T("Node Name:"), str) < 0)
return;
MessageBox(str);
=======================
真是痛苦,没学过一个完整点的东西,全是那一点,这一点的补代码,MFC把我们限制的只可以按照人家那样来!
阅读(2299) | 评论(0) | 转发(0) |