13,826
社区成员
发帖
与我相关
我的任务
分享
//登录窗体的cpp文件中
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
AnsiString strUserName; //这里是它的定义。这个Form对应登录的那个窗体,这个是在Unit2.cpp中
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
ShowMessage("login ok");
ModalResult = mrOk;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// 主窗体的头文件中
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Grids.hpp>
#include <DB.hpp>
#include <DBTables.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
Graphics::TBitmap *tmpBitmap ;
protected :
void __fastcall MyPanelWindowProc(TMessage &Msg);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
extern AnsiString strUserName; //这里是外部声明 这个是主窗体的头文件
//---------------------------------------------------------------------------
#endif
//可以在主窗口的public下定义用户名和密码字符串,比如主窗口是Form1,在登录窗口中包含主窗口的头文件,登录窗
//口关闭时用
Form1->UserName=Edit1->Text;
Form1->PassWord=Edit2->Text;
// 不是很清楚你的描述,
// 看字面意思好像是你要在主窗体弹出前,先弹出登录窗体
// 若是上面那样,你可以New->Form ,把这个第2个form作为登录时用的窗体,暂时称为Form2把
// 然后在project->options->Forms里面将Form2移动到右边的列表中
// 接下来开始code
// 以下代码是在Project1.cpp中
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h" //注意记得包含这个头文件
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
USEFORM("Unit2.cpp", Form2);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
TForm2 *loginForm = 0;
loginForm = new TForm2(0); //创建窗体
if(loginForm)
{
//弹出窗体,关于验证用户身份的逻辑可以在Form2里面自己设计
//让他传递1个值,这个值你可以自己设定来表示是否登录成功
if(loginForm->ShowModal()==mrCancel)
{
// 这里是用户关闭登录窗体,或者没有正常登录
return 0;
}
delete loginForm ; //释放内存
loginForm =0 ;
}
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//---------------------------------------------------------------------------