软件封面问题

recentsun 2007-12-14 01:46:29
帮一个朋友写了个小小的数据库应用软件,本来已经完成了使用了。
后来他告诉我这个软件关系到他的职称问题,要我在软件上加个起动封面。

以前我写这些都是怎么简单怎么实用怎么来,这可难住俺了。

请问如何在不动原来主程序的基础上加个起动封面?

要求:在封面上要有个按钮,显示点击进入。我说能不能不点击自动进入?他说不行~晕啊

我原想把ABOUT窗体在启动时显示一下,但是人家这个要求打破了我的思路,怎么办?
...全文
184 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
recentsun 2007-12-30
  • 打赏
  • 举报
回复
结账
jacknes009 2007-12-27
  • 打赏
  • 举报
回复
可以看看着这段代码
http://jacknes009.blog.163.com/blog/static/2810542320075955333941/
dfpgb 2007-12-20
  • 打赏
  • 举报
回复
月亮上的猪啊月亮上的猪~
xinxa 2007-12-18
  • 打赏
  • 举报
回复
见意:如果加点动画效果将是不错的选择
我不懂电脑 2007-12-17
  • 打赏
  • 举报
回复
最简单的,把启动封面做成主窗口,进入后隐藏。
主窗口可以用project-option-form改
kysoft 2007-12-16
  • 打赏
  • 举报
回复
学习.....
recentsun 2007-12-14
  • 打赏
  • 举报
回复
解决了~
recentsun 2007-12-14
  • 打赏
  • 举报
回复
* cczlp
发表于:2007-12-14 15:39:023楼 得分:0
在主窗体前用ShowModal显示
用AnimateWindow可以产生动画效果

-------
在主窗体那个事件中用ShowModal?能具体说说么?
我在OnShow中使用好像有问题。
vc8fans 2007-12-14
  • 打赏
  • 举报
回复
楼上的已经提示了
cczlp 2007-12-14
  • 打赏
  • 举报
回复
在主窗体前用ShowModal显示
用AnimateWindow可以产生动画效果
ydlchina 2007-12-14
  • 打赏
  • 举报
回复
很长时间的资料,自己都忘了
软件封面的实现

1.先设置两个窗体Form1 Form2其中Form1为主窗体,Form2为动态调用窗体
在工程文件Project1.cpp中加入如下代码:
#include <vcl.h>
#include Unit2.h
#pragma hdrstop

USERES(Project1.res);
USEFORM(Unit1.cpp, Form1);
USEFORM(Unit2.cpp, Form2);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try{
Application->Initialize();
Form2 = new TForm2(Application);
Form2->Show();
Form2->Update();
Application->CreateForm(__classid(TForm1), &Form1);
delete Form2;
Application->Run();
}
catch (Exception &exception){
Application->ShowException(&exception);
}
return 0;
}
2.然后在主窗体unit1.cpp中加入下面代码:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
unsigned long CurTime;
unsigned long DelayTime;
// 设置延迟时间为5秒
DelayTime = 5000;
CurTime = GetTickCount();
// 在这儿可以加上应用程序的初始化过程
unsigned long Inter;
do{
Inter = GetTickCount()-CurTime;
Form2->ProgressBar1->Position = Inter*100.0/DelayTime;
} while( Inter<DelayTime );
}

在BCB中显示2000新式对话框

我自己测试了一下,在2000和xp下能显示新式对话框,不过不能使用bcb中的组件,只能自己调用api函数,再一次说明了api函数的强大.我的程序如下,希望大家指教.
//main.h
//---------------------------------------------------------------------------
#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
  TButton *Button1;
  TPanel *Panel1;
  TMemo *Memo1;
  TPanel *Panel2;
  TGroupBox *GroupBox1;
  TCheckBox *CheckBox1;
  TButton *Button2;
  void __fastcall Button1Click(TObject *Sender);
  void __fastcall FormCreate(TObject *Sender);
  void __fastcall FormDestroy(TObject *Sender);
  void __fastcall Button2Click(TObject *Sender);
  void __fastcall CheckBox1Click(TObject *Sender);
private: // User declarations
public: // User declarations
  LPOPENFILENAMEA   pOpenFile;
  BYTE        *pBuf;
  __fastcall TForm1(TComponent* Owner);
  void __fastcall DisplayInMemo(String str);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

//main.c
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include main.h
//--------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource *.dfm
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  String str;
  BOOL  bReturn = GetOpenFileName(pOpenFile);
  if(bReturn)
  {
    str.sprintf(您选择的文件为%s,pOpenFile->lpstrFile);
    DisplayInMemo(str);
  }else{
    str.sprintf(您没有选择的文件);
    DisplayInMemo(str);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  String str;
  pBuf =(BYTE *)malloc(1024);
  memset(pBuf,0,1024);
  pBuf = *.txt;
  pOpenFile = (LPOPENFILENAMEA)malloc(sizeof(OPENFILENAMEA));
  memset(pOpenFile,0,sizeof(OPENFILENAMEA));
  pOpenFile->lStructSize = sizeof(OPENFILENAMEA);
  pOpenFile->hwndOwner = Handle;
  pOpenFile->hInstance = HInstance;
  pOpenFile->lpstrFilter = 文本文件(*.txt);
  pOpenFile->nFilterIndex = 0;
  pOpenFile->nMaxFile = 255;
  pOpenFile->Flags = OFN_EXPLORER;
  pOpenFile->lpstrFile = pBuf;
  pOpenFile->lpstrTitle = 我的文件对话框;
  pOpenFile->lpstrInitialDir = .\\;
  //pOpenFile->
  str.sprintf(显示2000样式对话框演示);
  DisplayInMemo(str);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  free((void *)pOpenFile);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DisplayInMemo(String str)
{
  if(Memo1->Lines->Count > 100){
    Memo1->Lines->Clear();
  }
  Memo1->Text = str + char(13) + char(10) + Memo1->Text;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  Close();  
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
  if(CheckBox1->Checked){
    pOpenFile->Flags |= OFN_READONLY;
  }else{
    pOpenFile->Flags &= !OFN_READONLY;
  }
}
//---------------------------------------------------------------------------
i_love_pc 2007-12-14
  • 打赏
  • 举报
回复
启动封面可以用有个普通模态窗体
1.去掉边框
2.加载图片
3.在主窗口显示之前显示
(1)先于主窗口创建
(2)主窗口构造函数中创建
(3)主窗口OnCreate事件中创建
(4)主窗口创建之后隐藏,显示启动窗口
4.点击按钮,关闭(隐藏)启动窗口,显示主窗口

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧