• 手机站
  • 收藏
聚培教育网合作机构 > 重庆达内教育
重庆达内教育
400-998-6158
重庆达内教育开设了Java、C++、C#/.Net、 PHP、嵌入式、软件测试、UID、网络营销、Linux云计算、主办会计、UED、WEB前端、Java大数据、Unity-3D、少儿电脑编程等课程
重庆达内教育

vc++5.0定制窗口的方法

java学习网

更新时间:2021-10-06 浏览:182
核心提示:VC(C学习培训 )5.0是Microsoft新近发布的数据可视化C集成化开发工具。它在承继之前VC的基本上提升了很多新的作用,用以适用Win32

VC (C 学习培训 ) 5.0是Microsoft新近发布的数据可视化C 集成化开发工具。它在承继之前VC 的基本上提升了很多新的作用,用以适用Win32服务平台应用软件、系统服务和控制的开发设计。VC 5.0给予了强劲、便捷的编程工具,在其中最基本上的是三个导航栏:AppWizard用以程序流程架构的转化成,AppStudio用以資源的编写,ClassWizard用以类的编写和管理方法。在其中,对话框、菜单栏等不用客户程序编写,而由系统软件自动生成。但在很多状况下,客户要设定自身期待的对话框(即订制对话框)。

一、怎样在多文本文档页面下来掉逐渐的子对话框

在多文本文档页面下,自动生成一个新的子对话框,而一个具体的软件系统通常是由客户实际操作后再转化成新的对话框。为了更好地除掉逐渐的子对话框,可在应用软件文档剖析cmd的句子:

CcommandLineInfo cmdInfo;

ParseCommandLine(cmdInfo);

后添加:

cmdInfo.m-nShellCommand=CcommandLineInfo::FileNothing;

除掉子对话框后,就只剩余主架构对话框了。由于在多文本文档页面中,系统生成2个菜单栏:一个是客户的菜单栏,另一个是系统软件主架构菜单栏。一般 客户工作中在客户菜单栏。为了更好地确保菜单栏页面不会改变,可改动主架构菜单栏資源,使其与客户菜单栏保持一致。

二、改动对话框菜单栏

在默认设置状况下,对话框菜单栏中表明的文本文档名叫文件夹名称。若想在菜单栏表明一个长字符串数组,而又不改动文件夹名称,则可将新项目工作区域变换到Resource

View面板,挑选串表(StringTable)資源,在StringTable中双击鼠标IDR-MAIN-FRAME项,caption中表明一字符串数组

xxnyy......,将**个主要参数改动为客户自身期待看到的主对话框文章标题就可以。

三、改动主架构对话框、子对话框以及表明特性

可根据遮盖CWnd的友元函数PreCreateWindow来改动主对话框和子对话框.PreCreateWindow涵数在将要建立对话框前被启用,函数原型为:Virtual

BOOL PreCreateWindow涵数(CREATESTRUCT

cs)。假如要遮盖PreCreateWindow涵数,则在建立对话框前能够改动CREATESTRUCT构造以更换默认设置主要参数。CREATESTRUCT构造储放对话框特点,如对话框座标、设计风格等,还能够界定新页面设计风格。若要改动主架构对话框,则能够在MainFrm.cpp的以下友元函数中添加待改动的內容。比如:

BOOL CmainFrame::PreCreateWindow(CREATESTRUCT&cs)

r>

{

//根据改动CREATESTRUCT构造来改动对话框类或设计风格

//界定新页面的高宽比、总宽

cs.cx=450;

cs.cy=300;

//界定新页面设计风格为除掉主对话框名及利润**化等按键

cs.style=ws-POPWINDO;

return

CframeWnd::PreCreateWindow(cs);

}

订制子对话框的实际操作与以上主对话框同样,可在ChildFrm.cpp中添加以下几点:

BOOL

CmainFrame::PreCreateWindow(CREATESTRUCT&cs)

{

//根据改动CREATESTRUCT构造来改动对话框类或设计风格

return

C mdichildWnd::PreCreateWindow(cs);

}

要改动主视图对话框的表明特性,则可在主视图文档xxView.cpp的以下友元函数中添加下列句子:

BOOL xxView::PreCreateWindow(CREATESTRUCT&cs)

{

//提升的句子

cs.lpszClass=AfxRegisterWndClass(cs-HREDRAW|CS-VREDRAW,0,(HBRUSH))::GetStockObject(WHITE-BRUSH),0);

return CscrollView::PreCreateWindow(cs);

}

在其中,cs的主要参数pszClass用以储放Windows对话框类名字。要想申请注册Windows对话框类,则务必启用全局性涵数AfxRegisterWndClass。该函数原型为:

LPCTSTR AFXAPI AfxRegisterWndClass(UINTnClassStyle,HCURSOR

hCursor=0,HBRUSH

hbrBackground=0,HICON hIcon=0)

以上各主要参数用以界定设计风格,其含意各自为鼠标光标資源返回值、情况資源返回值、标志資源返回值。以上提升的句子的功效是:更改对话框大钟头重绘对话框、无法显示鼠标光标标志、设定白背景。

四、对话框的翻转

应用CscrollView替代Cview类就可以完成翻转对话框。这时,系统生成OnInitialUpdate()友元函数:

void CmyscrollView::OnInitialUpdat()

{

CscrollView::OnIntialUpdate();

Csize sizeTotal;

SizeTotal.cs=sizeToal.cy=100;

SetScrollSizes(MM-TEXT,sizeTotal);

}

在其中,cs和cy各自为翻转对话框的水准、竖直份量,说明对话框的水准、竖直方位规格低于100像素单位时将发生水平方向下拉列表和竖直方位下拉列表。根据改动翻转规格,可更改发生下拉列表的最少对话框。比如,若“sizeTotal.cx=600;sizeTotal.cy=800;”,则当对话框规格低于600*800时,便会发生下拉列表。

更多>同类资讯
更多>相关课程
顶部