是要使用多线程吗?单纯使用progress控件配合sleep函数,程序好像死机似的呀

解决方案 »

  1.   

    使用多线程是一种普通的方法。
    Splash窗口(VC++)
    http://www.softist.com/programemo/splash/splash.htm
    简单一点可以,CXXxApp::InitInstance()里,调出一个对话框,对话框上贴progress,干完活后关闭,接着对主筐的初始化。
      

  2.   


    我使用的就是这种方式,使用了sleep,但如果有鼠标点击,程序就死掉了。是不是用settimer会更好一点?
      

  3.   

    "简单一点可以,CXXxApp::InitInstance()里,调出一个对话框,对话框上贴progress,干完活后关闭,接着对主筐的初始化。"
    这个可以不使用线程吗?我想简单一点,用这种方式使用sleep还是死机的状态。在这儿使用settimer可以吗?
      

  4.   

    settimer不能用吧,程序是放在CXXxApp::InitInstance()里的呀。
      

  5.   

    四种程序启动画面的制作方法(VC)
    http://www.diybl.com/course/3_program/vc/vc_js/2007114/83621.html
      

  6.   

    在CXXxApp::InitInstance()事件中使用线程,
    HWND hWnd=GetSafeHwnd();
    编译时出现错误:GetSafeHwnd()没有定义。
      

  7.   

    方法一:使用一个线程,控制进度条的显示
    方法二:使用定时器 SetTimer关于进度条,如果想做炫丽一点,可以使用GDI或者GDI+自绘贴图进度条,不需要系统提供的progress
      

  8.   


    在CXXxApp::InitInstance()事件中使用线程, 
    HWND hWnd=GetSafeHwnd(); 
    编译时出现错误:GetSafeHwnd()没有定义。
      

  9.   

    非模态对话框,单开线程,不用进度条,用一个.gif的动画滚动条(好像有个CPictureEx的控件)即可
      

  10.   

    "单开线程",在哪开?
    CXXxApp::InitInstance()报错。“不用进度条,用一个.gif的动画滚动条(好像有个CPictureEx的控件)即可”
    这确实是一个好主意。
      

  11.   

    你直接插入vc自带的splash screen,看看它怎么实现的就明白了
      

  12.   


    splash screen是VC自带的么?中文名叫什么?
      

  13.   

    办法有很多种:
    定时器:OnTimer
    控件类:CSplashWnd,可以通过VC可以直接导入代码的
    多线程:(这个不推荐,杀鸡焉用宰牛刀?)