Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Открыть окно для каждого контакта

18K
02 декабря 2006 года
Александр Игоревич
10 / / 12.09.2006
Реализация открытия окна для каждой записи в списке. Вобщем как в Miranda IM. Пишу чат для локалки. Какие варианты?
257
02 декабря 2006 года
kosfiz
1.6K / / 18.09.2005
собственно в архивчике примерчик, может подойдет.
18K
02 декабря 2006 года
Александр Игоревич
10 / / 12.09.2006
Спасибо, пример хорош, извини за наивность, но можно ли чтобы каждое окно появлялось на панели задач.
17K
03 декабря 2006 года
DeBUGGeR
10 / / 01.09.2006
хм.... Хотите чтобы динамически создавались окна что ли ? Я правильно понимаю ?

Если да, то можно создать класс (для окна) и сделать динамический массив из объектов этого класса.... Далее дело техники...

Т.е. можно создать обычным способом окно (в Delphi), накидать туда компонентов... сделать функциональность, и потом объявить ни как по стандарту (пр.: Form1: TForm1), а вот так:
type TForms = array of TForm1;
var Forms: TForms;
----
и создавать потом Forms[1].Create() и т.п.
ИМХО, должно работать....
PS: Если не так понял, то извиняйте...
18K
03 декабря 2006 года
Александр Игоревич
10 / / 12.09.2006
Если не трудно, мне бы исходник
17K
03 декабря 2006 года
DeBUGGeR
10 / / 01.09.2006
извиняюсь.... как я описал - сделать не получилось. Но принцип правильный...

Сделать надо так:
1. Создаете проект.
2. Создаете новую форму, кидаете туда компонентов и т.п.
3. убираете в модуле новой формы переменную типа объект класса новой формы.
т.е. убираете пример
 
Код:
var Form2: TForm2;

3. В модуле проекта (*.dpr) убираете создание новой формы.
Пример:
 
Код:
Application.CreateForm(TForm2, Form2);

4. И пишете процедуру создания форм:
 
Код:
var
  Forms: TForm2;
begin
  Application.CreateForm(TForm2, Forms);
  Forms.Show;
end;

и все......
если что, то для удобства можно вставить после создания формы
Forms.Name := 'SomeName';
-----------------------
Объяснил наверно я не очень, прикреплю исходники....
303
04 декабря 2006 года
makbeth
1.0K / / 25.11.2004
Цитата:
можно ли чтобы каждое окно появлялось на панели задач


Можно. Например, так:

Код:
type
    TContactForm = class(TForm)
    //...
    protected
        procedure CreateParams(var Params: TCreateParams); override;
    //...
    end;

procedure TContactForm.CreateParams(var Params: TCreateParams);
begin
   inherited;
   Params.ExStyle:=WS_EX_APPWINDOW;
   Params.WindowClass.hIcon:=Application.Icon.Handle;
end;


Цитата:
В модуле проекта (*.dpr) убираете создание новой формы


Чтобы этим не заниматься, в настройках дельфи надо убрать галку "Auto create forms & data modules". (В BDS 4 - Tools->Options->Environment options->VCL Designer)

18K
17 декабря 2006 года
Александр Игоревич
10 / / 12.09.2006
Спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог