VC小技巧汇总之窗口技巧

 更新时间:2014年07月21日 12:00:01   投稿:shichen2014  
这篇文章主要介绍了VC小技巧汇总之窗口技巧,功能非常实用,对于VC开发有一定借鉴价值,需要的朋友可以参考下

本文搜集汇总了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("文档标题"+" - "+"程序标题");

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

相关文章

  • Matlab实现好看的配对箱线图的绘制

    Matlab实现好看的配对箱线图的绘制

    配对箱线图,常见于配对样本的数据分析中,它除了能够表现两组的整体差异,还能够清晰地呈现单个样本的前后改变。本文将用Matlab实现配对箱线图的绘制,需要的可以参考一下
    2022-08-08
  • 基于QT设计一个春联自动生成器

    基于QT设计一个春联自动生成器

    春节是中国最隆重的传统节日,一到过年家家户户肯定是要贴春联;在春节前夕,会用大红纸张,加上浓墨书写祝福词语。本文将利用Qt框架设计一个春联自动生成器,需要的可以参考一下
    2022-01-01
  • C/C++左旋字符串实现代码举例

    C/C++左旋字符串实现代码举例

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串,下面这篇文章主要给大家介绍了关于C/C++左旋字符串实现的相关资料,需要的朋友可以参考下
    2023-12-12
  • 一篇文章带你了解C语言操作符

    一篇文章带你了解C语言操作符

    指令系统的每一条指令都有一个操作符,它表示该指令应进行什么样性质的操作,不同的指令用操作符这个字段的不同编码来表示,每个编码代表一种指令,这篇文章主要给大家介绍了关于C语言中操作符的相关资料,需要的朋友可以参考下
    2021-08-08
  • C语言修炼之路悟彻数组真妙理 巧用下标破万敌下篇

    C语言修炼之路悟彻数组真妙理 巧用下标破万敌下篇

    在C语言和C++等语言中,数组元素全为指针变量的数组称为指针数组,指针数组中的元素都必须具有相同的存储类型、指向相同数据类型的指针变量。指针数组比较适合用来指向若干个字符串,使字符串处理更加方便、灵活
    2022-02-02
  • C语言实现将彩色bmp图像转化为灰图、灰度图像反色

    C语言实现将彩色bmp图像转化为灰图、灰度图像反色

    这篇文章主要为大家详细介绍了C语言实现将彩色bmp图像转化为灰图、灰度图像反色,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C语言实现贪吃蛇游戏代码

    C语言实现贪吃蛇游戏代码

    这篇文章主要为大家详细介绍了C语言实现贪吃蛇游戏代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 用pybind11封装C++实现的函数库的方法示例

    用pybind11封装C++实现的函数库的方法示例

    这篇文章主要介绍了用pybind11封装C++实现的函数库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 浅谈C++ 缓冲区(buffer)的使用

    浅谈C++ 缓冲区(buffer)的使用

    缓冲区是用来存放流中的数据,本文详细的介绍了C++ 缓冲区(buffer)的使用,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C++17中std::byte的具体使用详解

    C++17中std::byte的具体使用详解

    这篇文章主要为大家详细介绍了C++17中std::byte的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-11-11

最新评论