在BCB中数组的妙用和纪录和改变控件的状态

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

如果能巧妙地运用数组会给我们带来很多方便;以下是我的一些用法,还觉得自己每掌握它的精髓;希望大家多多指点;(现丑了)

void ) __declspec(dllexport) myList::ReadList(AnsiString TS)

{//读出ini文件的数据

System::AnsiString LabPath=ExtractFilePath(".\\");

TIniFile *LabIni=new TIniFile(LabPath+"LabIni.ini");

Form2->AddList();

for(int i=0;i<Form2->LabelList->Count;i++)

{

TLabel *Lab;

Lab=(TLabel *)Form2->LabelList->Items[i];

Lab->Left=LabIni->ReadInteger(TS,"Left"+IntToStr(i), Lab->Left);

Lab->Top=LabIni->ReadInteger(TS,"Top"+IntToStr(i),Lab->Top);

}

}

file://----------------------------------------------------------------------------

void myList::WriteList(AnsiString TS)

{//写入文件

System::AnsiString LabPath=ExtractFilePath(".\\");

TIniFile *LabIni=new TIniFile(LabPath+"LabIni.ini");

Form2->AddList();

for(int i=0;i<Form2->LabelList->Count;i++)

{

TLabel *Lab;

Lab=(TLabel *)Form2->LabelList->Items[i];

LabIni->WriteInteger(TS,"Left"+IntToStr(i), Lab->Left);

LabIni->WriteInteger(TS,"Top"+IntToStr(i),Lab->Top);

}

}

file://------------------------------------------------------------------------------------------

System::AnsiString LabPath=ExtractFilePath(".\\");

TIniFile *LabIni=new TIniFile(LabPath+"LabIni.ini");

TList *LabelList;

LabelList=new TList;

LabelList->Add(Label1);

LabelList->Add(Label2);

LabelList->Add(Label3);

LabelList->Add(Label4);

LabelList->Add(Label5);

LabelList->Add(Label6);

LabelList->Add(Label7);

LabelList->Add(Label8);

LabelList->Add(Label9);

LabelList->Add(Label10);

LabelList->Add(Label11);

LabelList->Add(Label12);

LabelList->Add(Label13);

LabelList->Add(Label14);

LabelList->Add(Label15);

file://------------------------------------------------------------------------------------------------------

void myList::NmyChick(TMenuItem *Item,AnsiString STR,int BL)

{

file://记录TMenuItem 的状态:

static TMenuItem *sItem=0;

file://Item=Form2->PopupMenu1->Items;

file://Item=dynamic_cast<TMenuItem *>(Form2->WindowMenu->Items->GetParentMenu);

if(sItem==Item){

Item->Checked=false;

return;

}

else if(sItem) sItem->Checked=false;

Item->Checked=true;

sItem=Item;

if(Item->Checked==true){

file://¶¯Ì¬¸Ä±äForm2µÄ´óСºÍÐÎ×´

if(BL){

Form2->Image1->Picture->Bitmap->Height =500;

Form2->Image1->Picture->Bitmap->Width =732;

Form2->Image1->Stretch = false;

file://Form2->Image2->Picture->LoadFromFile(".\\LOGO.bmp");

Form2->Image2->Width = Form2->Image2->Picture->Width;

Form2->Image2->Height = Form2->Image2->Picture->Height;

Form2->Image2->Top = 12;

Form2->Image2->Left = 15;

Form2->Height = 500;

Form2->Width = 732;

Form2->Top = 0;

Form2->Left = Screen->Width-Form2->Width;

TCanvas *TSS =Form2->Image1->Picture->Bitmap->Canvas;

Form1->DrawBarCode(TSS,120,300,125);

Form2->Update();

}

else

{

Form2->Image1->Picture->Bitmap->Height =732;

Form2->Image1->Picture->Bitmap->Width =555;

Form2->Image1->Stretch = false;

Form2->Image2->Width = Form2->Image2->Picture->Width;

Form2->Image2->Height = Form2->Image2->Picture->Height;

Form2->Image2->Top = 12;

Form2->Image2->Left = 15;

Form2->Height =732 ;

Form2->Width = 555;

Form2->Top = 0;

Form2->Left = Screen->Width-Form2->Width;

Form1->MakeLabel();

}

Form2->Caption = String(Form2->Image1->Picture->Bitmap->Height)+" - "+

String(Form2->Image1->Picture->Bitmap->Width);

file://---------------------------------------------------------

ReadList(STR);

Form2->Update();

}

}

file://------------------------------------------------------------------------------------------------------

void __fastcall TForm2::FormHide(TObject *Sender)

{

AnsiString bj[]={"打横1","打竖1","打横2","打竖2","打横3","打竖3","还原原此设置"};

for(int i=0;i<PopupMenu1->Items->Count;i++){

if(PopupMenu1->Items->Items[i]->Checked) LT->WriteList(bj[i]);

}

}

file://---------------------------------------------------------------------------

void __fastcall TForm2::N4Click(TObject *Sender)

{

LT->NmyChick(Form2->N4,"打竖2",0);

}

file://---------------------------------------------------------------------------

void __fastcall TForm2::N5Click(TObject *Sender)

{

LT->NmyChick(Form2->N5,"打横2",1);

}

file://---------------------------------------------------------------------------

void __fastcall TForm2::N31Click(TObject *Sender)

{

LT->NmyChick(Form2->N31,"打竖3",0);

}

file://---------------------------------------------------------------------------

void __fastcall TForm2::N32Click(TObject *Sender)

{

LT->NmyChick(Form2->N32,"打横3",1);

}

file://---------------------------------------------------------------------------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航