Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

Вниз

Динамічне створення об'єкта Знайти схожі гілки


Брат   (2004-11-29 12:43) [0]

Підкажіть будь ласка, як створити об'єкт, наприклад кнопку, що не оголошую при цьому змінну TButton?



Ega23 ©   (2004-11-29 12:46) [1]

function ShowMessagesString (const aMessage: String; aCaption: String = ""; FormWidth: Integer = 750; FormHeight: Integer = 500): Boolean; var aForm: TForm; begin Result: = False; try Application.CreateForm (TForm, aForm); try With aForm do begin Caption: = aCaption; BorderStyle: = bsDialog; Height: = FormHeight; Width: = FormWidth; Position: = poScreenCenter; end; With TMemo.Create (aForm) do begin Parent: = aForm; Font.Name:="Courier New "; Name: = "memSQLLogMonitor"; Align: = alTop; ScrollBars: = ssBoth; WantReturns: = False; Height: = aForm.ClientHeight-40; Clear; Lines.Text: = aMessage; end; With TButton.Create (aForm) do begin Parent: = aForm; Cancel: = True; Height: = 25; Width: = 100; Font.Size: = 10; Top: = aForm.ClientHeight-30; Left: = aForm.ClientWidth-110; Caption: = "Закрити"; ModalResult: = mrCancel; end; aForm.ShowModal; finally aForm.Free; end; except on E: Exception do raise Exception.Create ( "ShowMessagesString" + E.Message); end; end;



Брат   (2004-11-29 13:35) [2]


> With TButton.Create (aForm) do
> begin
> Parent: = aForm;
> Cancel: = True;
> Height: = 25;
> Width: = 100;
> Font.Size: = 10;
> Top: = aForm.ClientHeight-30;
> Left: = aForm.ClientWidth-110;
> Caption: = "Закрити";
> ModalResult: = mrCancel;
> End;

а як до цієї кнопки в подальшому звернутися по імені?



begin...end ©   (2004-11-29 13:42) [3]

> [2] Брат (29.11.04 13: 35)

> А як до цієї кнопки в подальшому звернутися по імені?

Знайти її c допомогою aForm.FindComponent, тільки при створенні потрібно вказати їй ім'я.



Ega23 ©   (2004-11-29 13:48) [4]

А що тобі заважає в var ще й btn: TButton додати ??? Це ж всього лише покажчик?



Брат   (2004-11-29 13:50) [5]

Зрозумів спасибі :)



Брат   (2004-11-29 13:55) [6]


> Ega23 © (29.11.04 13: 48) [4]
> А що тобі заважає в var ще й btn: TButton додати ??? це
> Ж всього лише покажчик?

справа в тому що я незнаю скільки у мене буде таких компонентів - може бути один а може бути і сто
не хочеться оголошувати сто змінних TButton :(



Ega23 ©   (2004-11-29 14:02) [7]

А, ну тоді давай кнопці ім'я. Або Tag властивість використовуй, по integer "у швидше шукати буде, ніж по String



KSergey ©   (2004-11-29 14:03) [8]

> [6] Брат (29.11.04 13: 55)
> Справа в тому що я незнаю скільки у мене буде таких компонентів
> - може бути один а може бути і сто
> Не хочеться оголошувати сто змінних TButton :(

Оборжаться.
А вантажити процесор FindComponent - це нормально ??
Динамічні масиви, до речі, саме для того і придумали щоб невідомо скільки (на етапі розробки) чогось зберігати.

А взагалі - почитайте http://www.delphikingdom.com/helloworld/runtime_comp.htm

Бо корисно воно.



begin...end ©   (2004-11-29 14:12) [9]

> [6] Брат (29.11.04 13: 55)

Використовуйте динамічні масиви або TObjectList.



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2004.12.12;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.59 MB
Час: 0.082 c
1-1101354943
Хто --- то
2004-11-25 06:55
2004.12.12
Як простіше обміняти шрифти двох комбобоксов?


3-1100507408
Термін
2004-11-15 11:30
2004.12.12
Питання щодо використання збережених процедур


3-1100460680
Shaman_Naydak
2004-11-14 22:31
2004.12.12
Помилка в IBX


3-1100382640
kirilllius
2004-11-14 00:50
2004.12.12
Розмір Access і JPEG


14-1100695078
ms
2004-11-17 15:37
2004.12.12
Допоможіть розібратися з VC ++ .NET ...





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська