![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Если заюзать API, то можно почти полностью преобразить форму на экране. Советую поучить API функции.
+ Быстродействие + Микроскопический размер ехе
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#12 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Как пользоваться SetParent?
Пробовал так: Код:
|
![]() |
![]() |
![]() |
#13 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
windows.SetParent(Button1.Handle, h);
Но так делать нельзя, access violation гарантирован. Чтоб прилепить VCL-кнопку в чужое окно есть метод TButton.CreateParented, он используется в ActiveX-компонентах, там куча своих нюансов.
пыщь
|
![]() |
![]() |
![]() |
#14 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Жаль...
А что надо писать b:=TButton.create(тут?) Я всегда писал self, но не понимал зачем, ведь в конструкторе кнопки вызывается конструкторе кнопки вызывается конструктор self'а, а свойство Parent всё-равно приходится вписывать \= |
![]() |
![]() |
![]() |
#15 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
![]() |
![]() |
![]() |
#16 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Традиционно издеваемся над калькулятором
Dll Код:
Код:
пыщь
Последний раз редактировалось JTG; 11.11.2009 в 16:44. |
![]() |
![]() |
![]() |
#17 | |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]() Цитата:
За калькулятор тож спасибо) Правда я ни разу ещё не работал с длл - завтра буду разбираться) |
|
![]() |
![]() |
![]() |
#18 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
![]() Смотри, вот ты пишешь b:=TButton.create(Self) Этот код помешен в неком... ну допустим событии скажем при создании формы: Код:
Код:
Стало быть self - это указатель на некий экземпляр формы, ну логично предположить что на Form1 (если брать стандартные случаи, бывает что ты создаешь форму или в принципе объект динамически - F:=Tform1.Create. Тогда Self в том событии укажет на F) А смысл указывать TButton.Create(self); вот в чем: Если посмотришь в генофонд можно найти такой вот код: Код:
TButton.create(Self) ты указываешь куда этот вновь созданный TButton помещать - AOwner.InsertComponent всего лишь помещает эту кнопку в контейнер родителя, но он совсем не обязан указывать этой кнопке кто будет ее родителем Это все равно что ты купил билет на электричку - тя проводник поместил в поезд, но он не обязан тебе говорить в каком вагоне сидеть (пригордние поезда) - ты потом себе вагон выбрать любой можешь. Понял смысл?
I'm learning to live...
Последний раз редактировалось Stilet; 12.11.2009 в 07:54. |
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
извините что вмешиваюсь...
в Делфи сделали как то хитро(через Ж) Owner это компонент который при своем уничтожении уничтожает и всех у кого он числется как Владелец... а Parent это компонент ответственный за отображение(в основном) компонента... то есть если Родителя не стало, то дитя живет... но на практике как то редко возникает последняя ситуация. если например создаем диалог только внутри одной процедуры то ставить ей владельца не нужно(сами уничтожим потом) владельца стоит ставить для избежания потерь памяти. прошу прощение за не в темность ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#20 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я тоже от нее не в восторге. Может быть смысл был в том что не всякий компонент, который помещается в контейнер может иметь свойство Parent - это уже на TWinControl такое пошло, но ведь он основан на TComponent. Значит Дядьки из Борланда просто прдостереглись от несчасных случаев если компонент или контрол вдруг не будетиметь свойство Parent. Но как показала практика это чрезвычайная редкость.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добавить/удалить строку нажатием на кнопку из сохранением формул | gleod | Microsoft Office Excel | 28 | 23.07.2009 11:20 |
Клик по чужому LISTVIEW | Neoteric | Общие вопросы Delphi | 6 | 14.04.2009 12:16 |
Как в 2007 из ВБА добавить кнопку на панель быстрого доступа | IgorGO | Microsoft Office Excel | 2 | 30.09.2008 13:52 |
Можно ли собственными силами установить на сайт форму добавить объявление? | oio1 | Помощь студентам | 1 | 23.04.2008 08:02 |
Как на кнопку добавить картинку? | xTANATOSx | Общие вопросы Delphi | 3 | 05.11.2007 13:11 |