|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - создание форм в Delphi |
|
Delphi - создание форм в Delphi
|
Ветеран Сообщения: 908 |
Подскажите, как создать форму по классу? То есть не делая ее предварительно, а непосредственно в ходе выполнения программы создать, разместить на ней компоненты и показать новое окошко.
|
|
Отправлено: 14:18, 06-07-2006 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать Surround
Ну,в принципе можно в коде настроить необходимые свойства будущего окна,а потом показать его с помощью метода Show. А CreateWindowEx не подойдёт?? |
------- Отправлено: 14:45, 06-07-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 78
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 08:26, 07-07-2006 | #3 |
Ветеран Сообщения: 908
|
Профиль | Отправить PM | Цитировать programmist72
а как тогда еще разместить на форме всякие Label'ы и прочее? |
Отправлено: 09:38, 07-07-2006 | #4 |
![]() Обратный инженер Сообщения: 644
|
Профиль | Отправить PM | Цитировать Surround
Вот код на Delphi только без использования VCL: var Instance : Cardinal; Handle : HWND; hbtnOpen : HWND; hbtnRun : HWND; hStatic : HWND; hMemo : HWND; hLabel : HWND; WindowClass : TWndClass; begin Instance := GetModuleHandle(nil); { Заполняем структуру WindowClass класса TWndClass } WindowClass.style := CS_HREDRAW or CS_VREDRAW; WindowClass.lpfnWndProc := @WindowProc; WindowClass.hInstance := Instance; WindowClass.hIcon := LoadIcon(0, IDI_APPLICATION); WindowClass.hCursor := LoadCursor(0, IDC_ARROW); WindowClass.hbrBackground := COLOR_BACKGROUND; WindowClass.lpszClassName := 'Example'; // Регистрируем класс окна RegisterClass(WindowClass); // Создаём окно Handle := CreateWindow('Example', 'Пример создания окна без VCL', WS_CAPTION or WS_SYSMENU or WS_MINIMIZEBOX, 350, 300, 400, 250, 0, 0, Instance, NIL); // Показываем окно ShowWindow(Handle, SW_SHOW); UpdateWindow(Handle); // Создаём кнопку hbtnOpen := CreateWindow('BUTTON', 'Open', WS_VISIBLE or WS_CHILD or BS_DEFPUSHBUTTON, 15, 185, 60, 25, Handle, 0, 0, NIL); // Ещё кнопка hbtnRun := CreateWindow('BUTTON', 'Run', WS_VISIBLE or WS_CHILD or BS_PUSHBUTTON, 100, 185, 60, 25, Handle, 0, 0, NIL); // Типа дельфийский Memo hMemo := CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, 'EDIT', '', WS_VISIBLE or WS_CHILD or WS_VSCROLL or ES_LEFT or ES_MULTILINE or ES_READONLY or ES_AUTOVSCROLL, 10, 45, 350, 130, Handle, 0, 0, NIL); // Типа дельфийский label hLabel := CreateWindow('STATIC', 'Это компонент Label', WS_VISIBLE or WS_CHILD or SS_RIGHT or SS_SIMPLE, 240, 200, 150, 20, Handle, 0, 0, nil); end; |
|
Отправлено: 12:41, 07-07-2006 | #5 |
![]() Пользователь Сообщения: 78
|
Профиль | Сайт | Отправить PM | Цитировать Тем же самым способом: создание экземпляра объекта требуемого класса, задание его параметров и показ на форме. С лейблом это будет выглядеть примерно так (пример исходного кода):
|
------- Отправлено: 12:43, 07-07-2006 | #6 |
Ветеран Сообщения: 908
|
Профиль | Отправить PM | Цитировать Спасибо большое!
|
Отправлено: 12:50, 07-07-2006 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Создание форм для регистрации | hunter | Вебмастеру | 0 | 11-11-2009 05:07 | |
Delphi - Создание на Delphi компонентов с непрямоугольной областью реакции на события мыши | Andrik | Программирование и базы данных | 7 | 02-12-2007 16:34 | |
Delphi - Delphi создание объекта | ferrum2688 | Программирование и базы данных | 3 | 28-02-2007 22:04 | |
Delphi - Delphi | создание окна и его элементов средствами WinAPI | Savant | Программирование и базы данных | 14 | 18-01-2005 14:15 | |
Delphi - CPPB or Delphi:Как отследить создание reg ключа? | SuperMaximus | Программирование и базы данных | 10 | 08-03-2004 15:48 |
|