Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4000174
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类: C/C++

2008-07-15 11:03:04

学习环境为: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把我们限制的只可以按照人家那样来!
阅读(2292) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~