![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| кварк |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 2.8.2002 Репутация: нет Всего: нет |
Задача: по нажатию кнопки создать форму, в которой есть TMemo, растянутый во всю клиентскую область. Все надо сделать ручками.
Вот код: procedure TForm1.Button1Click(Sender: TObject); var tf : TForm; mm : TMemo; mwc : boolean; begin try tf := TForm.Create(self); tf.Caption := 'Форма, созданная ручками'; mwc := true; try mm := TMemo.Create(tf) except mwc := false end; tf.ShowModal; finally {try - в самом начале} if mwc then mm.Free; tf.Free end end; И теперь проблемы: 1) Форма создается и отображается, а Memo у меня не видно. 2) Как написать для TMemo процедуру обработки события OnKeyDown? Мои шаги: mm.OnKeyDown := Form1.KeyDown; к успеху не привели. Неужели подобным образом ничего нельзя сделать? Или надо описать свой класс, унаследованный от TMemo? |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Положи на форму кнопку и сделай нижеприведенный код.
procedure TForm1.Button1Click(Sender: TObject); var mm : TMemo; begin mm := TMemo.Create(Self); mm.Parent := Self; mm.OnKeyDown := FormKeyDown; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin ShowMessage('1'); end; |
|||
|
||||
| кварк |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 2.8.2002 Репутация: нет Всего: нет |
О! Точно!
Все дело - Parent'e. Я ни за что бы не догадался присваивать что-то Parent'у после Create(self). И OnKeyDown заработал. Ну вот - порядок. Спасибо. |
|||
|
||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
А можно было еще вот так:
Но это уже для экстремалов -------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| MovAx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.3.2003 Где: Москва Репутация: нет Всего: нет |
Form1.InsertControl(mm);
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |