Borland C++ FAQ
Страница 16. Форма. Часть 2




  • Создание новой формы во время работы программы

    // Для того чтобы создать новую форму напишите:
    // следующих код:

    TForm * Formik= new TForm(this);
    TButton* button=new TButton(Application);
    button->Parent=Formik;
    button->Caption="New Button";
    button->Left=10;
    button->Top=15;
    button->Show();
    Formik->Caption=123;
    Formik->ShowModal();
    delete Formik;

  • Как сделать прозрачную форму в W2K/XP

    // Для того чтобы сделать прозрачную форму напишите:
    int Transparency = 75;//насколько прозрачным будет окно (0-100%)
    long ExtStyle = GetWindowLong(Handle, GWL_EXSTYLE);
    SetWindowLong(Handle, GWL_EXSTYLE, ExtStyle | WS_EX_LAYERED);
    SetLayeredWindowAttributes(Handle, 0 , (255 * Transparency) / 100,
    LWA_ALPHA);

  • Прозрачное окно с реакцией на нажатия кнопок, панелей

    // Для того чтобы создать форму напишите:
    void __fastcall TForm1::Photo()
    {
    int X0,Y0;
    bool Flag;
    TRect ScreenRect;
    TCanvas* ScreenCanvas=new TCanvas;
    try
    {
      Top=0;
      Left=Screen->Width;
      Width=Screen->Width;
      Height=Screen->Height;
      ScreenRect=Rect(0,0,Width,Height);
      ScreenCanvas->Handle=GetDC(0);
      Image1->Canvas->CopyRect(ScreenRect, ScreenCanvas,ScreenRect);
      ReleaseDC(Handle,ScreenCanvas->Handle);
      Left=Top;
    } __finally
    {
      delete ScreenCanvas;
    }
    }

  • Новая форма как отдельное окно

    // Для того чтобы создать новую форму напишите:
    void __fastcall TForm1::CreateParams(TCreateParams& Params)
    {
    TForm::CreateParams(Params);
    Params.WndParent = 0;
    }

  • Приложение без формы

    Создайте новый проект. Дальше: Project->Remove from project

  • Определения класса окна определённого приложения

    Для того чтобы определить класс определённого приложения напишите следующий код:

    HWND hWnd=FindWindow(NULL,"Калькулятор");//для русскоязычной Windows
    if (hWnd)
    {
    char buff[100];
    GetClassName(hWnd,buff,100);
    ShowMessage(buff);
    }


  • Как заполнить канву формы, фоном рабочего стола

    // Напишите следующий код:
    PaintDesktop(Form1->Canvas->Handle);


  •  

     
    « Предыдущая статья