VC MFC常用技巧

时间:2022-11-21 23:46:08 作者:壹号 字数:5200字

VC MFC常用技巧

    本文由longsy316贡献

    VC++MFC常用技巧(一) 

    作者:normalnotebook 时间:2002-05-10 11:34 出处:互联网 责编:chinaitpower 

    摘要:VC++MFC常用技巧(一) 

    VC++ MFC 常用技巧(一)

    我现在学习VC++6.0 MFC 已经快两个月,初学MFC时的痛苦还记忆犹新。这两个月学习MFC可以说是一段坎坷的历程.在学校学习SDK时,我从来没有认真去听老师讲课。到了今天是多么后悔当初的行为,也不至于到今天是如此的狼狈不堪。

    在这一段时间我总结了一些经常用到的技巧,和大家分享。让后学者,不至于为了解决某一个问题到处求救,还不一定得到满意的答案。

    (-). 下面是常见的Afx全局函数: 

    AfxFormatString1:类似printf一般地将字符串格式化 

    AfxFormatString2:类似printf一般地将字符串格式化 

    AfxMessageBox:类似Windows API 函数 MessageBox 

    AfxOuputDebugString:将字符串输往除错装置 

    AfxGetApp:获得application object (CwinApp派生对象)的指针 

    AfxGetMainWnd:获得程序主窗口的指针 

    AfxGetInstance:获得程序的instance handle 

    (二). CString 与char []之间的转换. 

    在VC中,恐怕这两个是经常要进行转换的吧

    char str[10] = ”str”;

    CString sstr = “sstr”;

    sstr.Format(“%s”,str);

    strcpy(str,(LPCTSTR)sstr);

    (三). 关闭程序:

    PostQuitMessage(WM_CLOSE); 或者PostQuitMessage(WM_DESTROY);

    更绝的是关闭所有的程序:::ExitWindows ();

    (四). 在关闭窗口时,当要对文件进行保存时,可在这里添加函数:

    1.)在CMainFrame里的OnClose()里,用MessageBox("内容","标题",组合形式);组合形式可以查看MSDN的MESSAGEBOX( ) Function 

    2.)在CXXXDoc::SaveModified() 里,只能用AfxMessageBox("");

    不能用MessageBox()函数

    (五). 如何修改窗体的标题:

    1.)修改主窗口的标题:m_pMainWnd->SetWindowText("你的标题");

    2.)如果在你的document类中进行改,则直接调用SetTitle("……"),如果在你的view类中改,则GetDocument()->SetTitle("……")

    3.)如果想使窗口的标题全部替换,则用:AfxGetMainWnd()->SetWindowText("你的标题");

    (六). 得到窗体的标题:

    1.)AfxGetMainWnd()->GetWindowText(); 

    2.)先FindWindow()找到窗口的HWND,在GetWindowText();

    (七). 在多文档/视图中:

…… 此处隐藏0字 ……

    1.)子窗口的最大化:

    void CChildFrame::ActivateFrame(int nCmdShow) 

    {

    // TODO: Add your specialized code here and/or call the base class    nCmdShow=SW_MAXIMIZE;

    CMDIChildWnd::ActivateFrame(nCmdShow);

    }

    2.)屏蔽子对话框:在APP类里把这两句话屏蔽掉

    if (!ProcessShellCommand(cmdInfo))