5748|14

54

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

EVC下面如何给程序添加启动界面 [复制链接]

我用EVC开发了一个应用程序,想给它添加一个启动界面,不知如何添加。
我网上搜了搜到的都是为基于对话框的程序添加的启动界面,但不知道基于窗口的应用程序该如何添加,请高手帮帮忙,谢谢!

最新回复

谁有原代码,发一个上来啊.也想做一个试试  详情 回复 发表于 2007-9-4 22:01
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
在窗口创建之前加上不就可以了
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
小弟愚钝,请大哥指点,最好有代码,谢谢!
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 
怎么就没人帮我呀?
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

5
 
可能是因为没有人在EVC下,做这种无聊的事吧

毕竟不是台式机
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
我觉得正是因为程序在这上面运行太慢,所以才要做个启动界面呀,不知道大家有没有做过,给个指导呀,拜谢。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
我的想法是在你的程序启动的时候先开始在窗口上show你的预先准备的图片,等待后台的运行消息,后台执行启动程序的必要操作,可能时间比较长,当准备完后,向窗口发个消息,然后获得相应的句柄,就可以了。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

8
 
在vc下是这样做的,利用Splash screen组件:


一、安装Splash screen组件   
点击菜单Project/Add to project/Component and Control,然后双击”visual c++ components” ,
选中Splash screen组件,接受默认ID为 IDB_SPLASH.(笔者在此处有疑问,接受默认的ID时当程序运行时总没有闪屏出现,重新取个ID就可以了,试试看!)
二、插入位图
用一幅准备好的真彩位图替换刚才生成的即可。真彩位图在资源编辑器(它不能打开超过256色的图片)中是不可视的!或者,点击Resouce View ,在BitMap上点击鼠标右键,选中“Import…”菜单项,然后选你所要的真彩位图资源,把位图的ID设置为IDB_SPLASH.。
  三、运行程序
编译、连接,漂亮的真彩启动位图就显示出来了。就这么简单!
四、几点说明
   1.如果你要改变启动画面的停留时间,就修改SetTime 中的第二个参数,这里是750毫秒。int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
     if (CWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

     // Center the window.
     CenterWindow();

     // Set a timer to destroy the splash screen.
     SetTimer(1, 750, NULL);  此停留时间为0。75秒,可通过修改第二个参数来改变闪屏时间!   

     return 0;
}
2.基于对话框的程序不能插入闪屏,可如下设置:
首先创建一对话框工程,将刚才已经生成的Splash.cpp和Splash.h文件拷贝到工作文件夹,并将其加入到你的基于对话框的项目中(Project->Add To Project->Files...)。
在CDialogApp派生类的InitInstance()中加入下列代码:
#include "Splash.h"
BOOL CDialogApp::InitInstance()
{
    // CG: The following block was added by the Splash Screen component.
    {
        CCommandLineInfo cmdInfo;
        ParseCommandLine(cmdInfo);
        CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash);
    }
    ......
}
使用Class Wizard为在CDialog派生类添加OnCreate()函数,并加入下列代码:
#include "Splash.h"
int CDialoglDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CDialog::OnCreate(lpCreateStruct) == -1)
        return -1;
    // CG: The following line was added by theSplash Screen component.
    CSplashWnd::ShowSplashScreen(this);
    return 0;
}
最后将Splash.cpp文件中的CSplashWnd::Create()函数中的位图资源ID改为真彩位图的ID就可以了。
BOOL CSplashWnd::Create(CWnd* pParentWnd /*= NULL*/)
{
    if (!m_bitmap.LoadBitmap(IDB_BITMAP1))
        return FALSE;
        ......
}


但在evc中没有这个组件,我想是不是也有类似的方法可以用,请高手指点。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

9
 
evc下限制比较多,少了不少东东,做起来麻烦
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

10
 
呵呵,不会的...


我认为EVC与VC差不多...

因为我的项目就是用VC开发...

在EVC下编译出结果就是了..
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
觉得差不多是你没深入了解
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

12
 
载舟之水是牛人:)
偶的问题他指点过
大家有什么问题可以问他的
很热心的人:)
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
先show一个临时的窗口,当真正的窗口初始化好了,就发个消息destroy前一个窗口
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

14
 
gz
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

15
 
谁有原代码,发一个上来啊.也想做一个试试
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表