Borland C++ FAQ Страница 16. Форма. Часть 2
|
Страница 16 из 17
Создание новой формы во время работы программы
// Для того чтобы создать новую форму напишите: // следующих код: 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);
|