三:控件操作

三:控件操作

 

1,设置主界面显示位置:

   this->Top    = (int)(Screen->Height- this->Height)/2;

   this->Left   = (int)(Screen->Width - this->Width)/2;

 

2,操作所有控件(eg:锁定界面)

  TControl *pControl;

  for ( int i = 0; i < MainForm->ControlCount; i++ )

  {

            pControl = MainForm->Controls[i];

            pControl->Enabled =  false;

  }

  注:不能操作容器界面

 

3,button 

   做成透明效果,用speedbutton,flat设置成true,用Glyph加载button图标,

   还可以用numglyphs设置不同状态下对应图片。

   如下:

   有glyph属性一般都跟有个numglyphs属性(bitbtn也有), 这个值最大为4

   第一幅: up状态

   第二幅: Disabled 状态

   第三幅: Clicked状态

   第四幅: Down状态

   注:这种情况下caption不能写字

 

4,Label

   透明:transparent = true;

   居中:Alignment  = taCenter;(左右)

         Layout     = tlCenter;(上下)

 

5,DateTimePicker

   日期:Kind = dtkDate

   时间:Kind = dtkTime

   DateTimePicker_date->Date  =   Now().CurrentDate();

   DateTimePicker_Time->Time  =   Now().CurrentTime();  

   strBeginTime = FormatDateTime("hh':'mm':'ss", DateTimePicker_Time->Time) ??

   另:取得当前系统时间:

   SYSTEMTIME dwTime;

   GetLocalTime(&dwTime);

   dwTime.wYear, dwTime.wMonth,dwTime.wDay

 

6,PageControl

   取得当前页的控件:type &tyname = (type *) PageControl1->ActivePage->Controls[0];

 

7,Image 

  #include <jpeg.hpp>   

  TMemoryStream  *MeStream1 = new TMemoryStream();

  MeStream1->Write(char*,int);

  MeStream1->Position = 0; 

  if(0!= MeStream1->Size)

  {

    TJPEGImage *Jpg_Image        = new  TJPEGImage;

   Jpg_Image->LoadFromStream(MemoryStream_Play);

   iamge1->Picture->Assign(Jpg_Image) ;

   delete   Jpg_Image;

   //或者加入下面实现:

    Graphics::TBitmap *Bmp_Image = new  Graphics::TBitmap ;

   Bmp_Image->Assign(Jpg_Image);

   iamge1->Picture->Graphic=Bmp_Image;

    delete   Bmp_Image;

  }

   直接加载图片 注:bmp直接加载,jpg加#include <jpeg.hpp>即可 

   iamge1->Picture->LoadFromFile(strFileName) ; 

   保存图片

   if(iamge1->Picture->Graphic != NULL)

   iamge1->Picture->SaveToFile(this->SavePictureDialog1->FileName+".Jpeg");

 

8, DBGrid

   全选:

   if( ! DBGrid_DataResult->DataSource->DataSet->IsEmpty() )

   {

       DBGrid_DataResult->DataSource->DataSet->First();

       while(!DBGrid_DataResult->DataSource->DataSet->Eof)

       {

          DBGrid_DataResult->SelectedRows->CurrentRowSelected = false;

          DBGrid_DataResult->DataSource->DataSet->Next();

       }

   }

   清空记录:

   DBGrid_DataResult->DataSource->DataSet->Close();

   取当前行某列的值(与first,next,eof结合用)

   DBGrid_DataResult->DataSource->DataSet->FieldByName("某列名")->AsString;

   删除当前行

   if(满足条件)

   {

   DBGrid_DataResult->SelectedRows->CurrentRowSelected = true;

   DBGrid_DataResult->SelectedRows->Delete();

   }

   else

   {

   DBGrid_DataResult->DataSource->DataSet->Next();

   }

9,判断本地网络

   #include <Sensapi.h>      

   DWORD flag;

   if( ! IsNetworkAlive(&flag))

   {

        DWORD const e = GetLastError();

        if( e == ERROR_SUCCESS 或其他)

        {

            异常;return -1;

        }

 

    }

10, IdIcmpClient  ping主机

   IdIcmpClient *IdIcmpClient_Ping;

   PingHost( AnsiString strHost )

   {

    IdIcmpClient_Ping->Host = NULL;

    IdIcmpClient_Ping->Host =strHost;

    nPingfaildno            = 0 ; //全局变量

    for(int i =0; i<PING_NUM ;i++)

    {

        IdIcmpClient_Ping->Ping();

        Application->ProcessMessages();

        ::Sleep(50);

    }

 

    if (nPingfaildno  ==  PING_NUM)

    {

        return 1; //全不通

    }

    else

    {

        return 0 ;  //ping success

    }

 

   双击event:OnReply

   if( AReplyStatus.BytesReceived == 0 )

    {

        //收到0字节,Ping不通

        nPingfaildno++;

    }

 

11,AnsiString

   AnsiString strName;

   strName.sprintf("...|%s",char *); 

   int nPos           = strName.pos(".");

   AnsiString  str1   = strName.SubString(nPos+1,strName Length()-nPos);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值