VC小技巧汇总之窗口技巧

所属分类: 软件编程 / C 语言 阅读数: 96
收藏 0 赞 0 分享

本文搜集汇总了VC小技巧的窗口技巧,对于VC程序开发的窗口设计而言有一定的借鉴价值,详情如下:

1.让窗口一启动就最大化

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

m_pMainWnd->ShowWindow(SW_SHOW); 

改为

m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);

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

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; 
}

3.让窗口居中显示

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

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

m_pMainWnd->CenterWindow( GetDesktopWindow() );

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

CenterWindow( 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; 
}

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("文本整理器");  //设置程序标题
  return TRUE; 
}

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

(3)修改窗口标题:

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

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

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

更多精彩内容其他人还在看

C++中四种对象生存期和作用域以及static的用法总结分析

以下是对C++中四种对象生存期和作用域以及static的用法进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C++嵌套类与局部类详细解析

从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的作用域使用该类名时,需要加名字限定
收藏 0 赞 0 分享

C++空类详解

以下是对C++中的空类进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C++之友元:友元函数和友元类详解

友元是一种允许非类成员函数访问类的非公有成员的一种机制。可以把一个函数指定为类的友元,也可以把整个类指定为另一个类的友元
收藏 0 赞 0 分享

C++中返回指向函数的指针示例

int (*ff(int)) (int *,int);表示:ff(int)是一个函数,带有一个int型的形参,该函数返回int (*) (int *,int),它是一个指向函数的指针,所指向的函数返回int型并带有两个分别是Int*和int型的形参
收藏 0 赞 0 分享

C数据结构之单链表详细示例分析

以下是对C语言中的单链表进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C数据结构之双链表详细示例分析

以下是对c语言中的双链表进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

浅析如何在c语言中调用Linux脚本

如何在c语言中调用Linux脚本呢?下面小编就为大家详细的介绍一下吧!需要的朋友可以过来参考下
收藏 0 赞 0 分享

深入解析unsigned int 和 int

以下是对unsigned int和int进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

浅谈C++中的string 类型占几个字节

本篇文章小编并不是为大家讲解string类型的用法,而是讲解我个人比较好奇的问题,就是string 类型占几个字节
收藏 0 赞 0 分享
查看更多