VC小技巧收集

2013年10月13日 13:42
评论(0) / 浏览(751) / 下载(0)

VC小技巧收集


 VC小技巧收集

1.1 窗口篇

1.1.1 让窗口一启动就最大化

把应用程序类(CxxxApp)的 InitInstance() 函数中的

m_pMainWnd->ShowWindow(SW_SHOW); 改为

m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);

则窗口一启动就最大化显示。

1.1.2 如何设置窗口的初始尺寸

在将应用程序类(CxxAPP)的 InitInstance() 函数中加入:

m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_NOMOVE);

Width为窗口宽度,Height为窗口高度

SWP_NOMOVE表示忽略位置(x,y)。

如:

BOOL CDzyApp::InitInstance()

{

AfxEnableControlContainer();

…………

//The one and only window has been initialized, so show and update it.

m_pMainWnd->SetWindowPos(NULL,0,0,750,555,SWP_NOMOVE);//设置窗口

的初始大小为750*555

m_pMainWnd->ShowWindow(SW_SHOW);

m_pMainWnd->UpdateWindow();

return TRUE;

}

1.1.3 让窗口居中显示

以下两种方法可任选其一: 

①在应用程序类(CxxxApp)的 InitInstance() 函数中加入:

m_pMainWnd->CenterWindow( (CWnd*)GetDesktopWindow() );


②在主框架类(MainFrm.cpp)的OnCreate()函数中加入:

enterWindow( GetDesktopWindow() );

如:

Int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

If (CFrameWnd::OnCreate(lpCreateStruct) == -1)

return -1;

…………

//TODO:Delete these three lines if you don't want the toolbar to

//be dockable

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar); 

CenterWindow(GetDesktopWindow());     //使窗口打开时处于屏幕正中

return 0; 

}

1.1.4 如何修改窗口标题

窗口标题一般形式为:文档标题-程序标题

1、设置文档标题:

在文档类(CxxxDoc)的OnNewDocument()函数中加入语句:SetTitle("文档名

");

如:TextEditorDoc.cpp:

BOOL CTextEditorDoc::OnNewDocument()

{

if(!CDocument::OnNewDocument())

return FALSE;

//TODO: add reinitialization code here

//(SDI documents will reuse this document)

SetTitle("未命名.txt");   //设置文档标题

return TRUE;

}

2、设置程序标题:

在框架类(CMainFrame)的PreCreateWindow()函数中加入语句:m_strTitle = _T("程序标题");

如:MainFrm.cpp:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 

{

if(!CFrameWnd::PreCreateWindow(cs))

return FALSE;

//TODO:Modify the Window class or styles here by modifying

//the CREATESTRUCT cs

m_strTitle = _T("文本整理器");      /设置程序标题

cs.style = WS_OVERLAPPEDWINDOW;

return TRUE; 

}

以上两点比较适用于视图-文档结构的程序,在新建文档时,系统会自动运行OnNewDocument()函数,在其中可以设置合适的标题。对于未采用文档的程序可以用下面的方法修改标题:

3、修改窗口标题:

修改窗口标题一般在打开文件函数OnFileOpen()和另存为函数OnFileSaveAs()中进行,可以使用下面的函数:

AfxGetMainWnd()->SetWindowText("文档标题"+"-"+"程序标题");

其中文档标题和程序标题可使用定义过的串变量。

1.2 项目篇

1.2.1 如何干净的删除一个类?

1、先删除项目中对应的.h和.cpp文件,(选中后用Delete键删除)

2、保存后退出项目,到文件夹中删除实际的.h和.cpp文件;

3、删除.clw文件;

4、重新进入项目,进行全部重建(rebuild all)。

1.2.2 如何建立一个新类?

1、从“插入”(Insert)菜单中选择“新建类”(New Class),在弹出的对话框中选择基类(Base class),在Name中输入新类的名字(一般都以C开头)即可。

2、如果想要建立一个没有基类的自定义类,则在New Class对话框中把Class type设置为generic,再输入类名即可。

1.2.3 如何把外来文件添加到项目中?

先把外来文件复制到当前项目的目录下,从“项目”(Project)菜单下选择“添加项目”(Add to Project)下的“Files”菜单项,从弹出的打开文件对话框中把外来文件打开即可。

1.2.4 如何在一个工作区中打开多个项目?

一般编程者都有这样的经历:做了一个项目,由于不满意,想从头重做,但又想把旧项目的一些可用内容拷到新项目中来,以免做重复工作,这时就需要在新项目中打开旧项目。

先打开新项目,从“项目”(Project)菜单下选择“插入项目到工作区”(Insert Project into Workspace),从弹出的打开文件对话框中打开旧项目的.asp文件即可。

之后,可以利用“项目”(Project)菜单下的“设置活动项目”(Select Active Project)的选项中切换各打开的项目。

注意:在一个工作区中打开的各项目不能同名。

1.2.5 如何把项目中的文件分类存放?

当我们往项目中添加新类时,它会把源文件放在Source Files下,头文件放在Header Files下。当项目中文件很多时,管理不便,最好添加新节点,把文件分类放置。

右击项目节点树的根节点,选择“New Folder...”,在弹出的对话框中填入新节点名,则新节点就建立了,用鼠标节点树中的文件拖入新节点,就可以把文件分类了。

以上分类只是在项目的节点树中分类,它不影响文件在磁盘上的位置,所有.cpp文件和.h文件仍在项目的根目录下,最好文件本身也能分类存放在不同文件夹中。

在Windows下,用“新建文件夹”在项目的根目录下建立子文件夹,如DialogClass,把所有对话框类的.cpp文件和.h文件拖入其中。

回到VC下,右键单击项目树中更改了路径的节点,选择“Properties”,在弹出的对话框中修改文件路径,如:把原路径“.\Dialog1.cpp”改为“.\DialogClass\Dialog1.cpp”。

打开Dialog1.cpp文件,修改它包含的文件路径。如:

#include "stdafx.h"

#include "PluckBox.h"

#include "Dialog1.h"

改为:

#include "stdafx.h"

#include "..\\PluckBox.h"

#include "Dialog1.h" 

打开ClassWizard,它会提示你文件不存在,单击“确定”后,从对话框中用“Browse...”选择文件所在路径,则ClassWizard也可正常使用了。


评论(0)

发表评论
登录
我可以
  • 评论
关联标签
VC × 1
关联热门电子辑
相关资源