Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

ПОМОГИТЕ, пожалуйста!   Найти похожие ветки 

 
Strumpf ©   (2002-11-05 15:40) [0]

Нужно на ограниченной области главной формы (назовем эту область рабочей, например - TPanel) создать несколько форм таким образом, чтобы они мышью перемещались по рабочей области.
При этом перемещемая форма должна отображать (или эмулировать) получение фокуса "на себя". Одновременно, главная форма фокус терять не должна (да, наверное, и не сможет). Видел работающее приложение, где что-то подобное реализовано (например, MicroWave Office). Вопрос - можно это сделать в формате SDI, а если нельзя, то как можно это реализовать в формате MDI (хотя бы в общих чертах - в какую сторону копать)?


 
Skier ©   (2002-11-05 15:44) [1]

>Strumpf
Всё что ты сказал очень похоже на MDI.
Поэтому с SDI не извращайся...

> в какую сторону копать ?

В Delphi есть пример MDI-приложения...


 
Strumpf ©   (2002-11-05 15:49) [2]

>Skier © (05.11.02 15:44)

А теперь скажите мне, пожалуйста, как сделать так, чтобы y MDIChild был парентом Panel? Весь фокус в том, чтобы сделать максимально простой процедуру перемещения MDIСhild"ов только в пределах рабочей области ;)


 
Alex4444444444   (2002-11-05 15:51) [3]

A mozhet, vmesto TPanel---TForm bez Captionbar?


 
Skier ©   (2002-11-05 15:51) [4]

>Strumpf
А теперь скажите мне почему именно Panel ?
Что за капризные фантазии...:)


 
Strumpf ©   (2002-11-05 15:52) [5]

> Skier © (05.11.02 15:51)
Прошу все-таки конструктив. TPanel - для примера (может быть и плохого).


 
Андрей Прокофьев ©   (2002-11-05 15:53) [6]

можно "эмулировать" используя фреймы вместо форм, но перемещение делать самому, да еще менять ZOrder ... и еще, и еще ...


 
Strumpf ©   (2002-11-05 15:55) [7]

> Андрей Прокофьев © (05.11.02 15:53)
Спасибо. Сложно я и сам умею. Хотелось бы простого и красивого решения...


 
Skier ©   (2002-11-05 15:59) [8]

>Strumpf
Есть крылатое выражение Юрия Зотова (IMHO)
"Вы пытаетесь забивать гвозди табуреткой" :)


 
Strumpf ©   (2002-11-05 16:03) [9]

> Skier © (05.11.02 15:59)
Спасибо за констуктив...


 
Strumpf ©   (2002-11-05 16:27) [10]

> Alex4444444444 (05.11.02 15:51)

Попробовал так:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form = new TForm(this);
Form->Parent = Panel1;
Form->Align = alClient;
Form->FormStyle = fsMDIForm;
Form->BorderStyle = TBorderStyle();
Form->Show();
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm *Form2 = new TForm(this);
Form2->Parent = Form;
Form2->FormStyle = fsMDIChild; // здесь ошибка: "Cannot create form. No MDI forms are currently active."
}


Что делаю не так?


 
Alex4444444444   (2002-11-05 17:10) [11]

Chestno govorya, ya ne znayu. A chto takoe "this"? To zhe, chto i "Self" v Pascal? Mozhet, poprobovat" new TForm(Form)? A voobshe, ya v takih sluchayah lezy v ishodniki, smotryu, gde voznikaet eto concretnoe Exception, smotryu, chego emu nuzhno, i pytayus" libo s etim borot"sya, libo eto emu dat" :)



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
3-45785
Геннадий
2002-10-26 14:29
2002.11.14
Как сохранить DBGrid в (текстовый) файл?


4-46208
Outlier
2002-10-03 18:41
2002.11.14
Уважаемые Мастера! Как


1-45967
werr
2002-11-04 14:45
2002.11.14
сортировка


4-46212
Dennnis
2002-10-03 10:33
2002.11.14
консоль


3-45759
niiot
2002-10-24 18:32
2002.11.14
Вопросы по базам данных