unit1.cpp

来自「本书《C++Builder与WindowsAPI经典范例》附含配套光盘包括132」· C++ 代码 · 共 43 行

CPP
43
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//清空Memo1文字
Memo1->Text = "";
//变量声明与默认
int b=0, c=0;
AnsiString str = "";
char ch[256];
//逐一测试Form1下的子对象性质与类型名称
for(int i=0;i<ComponentCount;i++)
  {//先将组件指针转换为通用窗口类型
  TWinControl* cp = (TWinControl *)Components[i];
  //若此对象是具有窗口属性的子对象
  if(::IsChild(Handle,(HWND)cp->Handle))
    {//取得此子窗口类型名称
    ::GetClassName((HWND)cp->Handle, ch, 256);
    str = str + AnsiString(ch) + ",";
    b++;
    }
  else
    c++;
  }
Memo1->Lines->Add("Form1窗口共  " + AnsiString(b) +
                  "个子窗口对象," + AnsiString(c) + "个无窗口对象");
Memo1->Lines->Add("拥有窗口的对象类型为--" + str);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?