Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-45921
¤NoNaMe¤
2002-11-04 00:39
2002.11.14
Darg&Drop текста ?


14-46099
Николай Быков
2002-10-26 21:05
2002.11.14
Создание скрин-сэйверов


1-45922
keymaster
2002-11-03 00:53
2002.11.14
Меню, как в Delphi 7


1-45827
Azazello
2002-11-05 11:41
2002.11.14
Сохранение в один файл


1-45910
den_c
2002-11-03 20:07
2002.11.14
Как вытащить свойство у родителя




   Наверх