Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание своих обьектов на форме [D7, WinXP]


zero-g ©   (2006-10-09 02:56:00) 

Доброго времени суток.
У меня такая проблема, мне надо нарисовать схему, ну так вот, как сделать свои  обьекты на форме? Допустим на понели...
Надо чтоб при нажатии мышки на панель в определенное место, там появлялся квадрат. И этому квадрату надо менять при желании размер.

Зарание спасибо!


zero-g   (2006-10-09 16:04:00) [1]

to @!!ex

Ага =)
Щас разберусь как это работает.. и буду ваять сам )
...
В общем мне надо на определенном куске формы рисовать схему.. типо квадратики, линии, и текст...
Хотел сначала использовать визио.. но чета не получается... сеня кавырял.. чтото вроде получается.. чтото нет..
Пробывал нарисовать допустим ректангл... говорит что чтото отключено... и не рисует.. думал думал.. так и не дошло.. пока...
ковырял  VisOcx_TLB Visio_TLB... так вроде чета нашел.. и вроде нет...
и пробывал через сам драф  DrawingControl.. нифига не вышло...

,...
вот труды моих ковыряний ))
...
procedure TForm1.Button1Click(Sender: TObject);
const
//IID_IDrawingControl: TGUID = '{9BF6FD73-F05B-406E-B938-09E2B413528E}';
//CLASS_DrawingControl: TGUID = '{E4615FA3-23B0-4976-BD3E-D611DDBE330E}';
DIID_EVisOcx: TGUID = '{BD086122-F160-436A-BE7B-6B1D58D14703}';
CLASS_DrawingControl: TGUID = '{000D0700-0000-0000-C000-000000000046}';
var
// Visio: IDrawingControl;
// Visio : IDrawingControlDisp;
  Visio : EVisOcx;
begin
{   Visio :=  CreateComObject(IID_IDrawingControl) as EVisOcx;
  visio.DocumentSavedAs(form1.DrawingControl1.Window.Document);

  Visio := Nil;}
  //form1.DrawingControl1.Window.Shape.DrawRectangle(12,21,12,12);
   form1.DrawingControl1.Window.Document.SaveAs('c:\q.vsd');
//    form1.DrawingControl1.Window.Shape.Shapes.CenterDrawing;
end;

procedure TForm1.Button2Click(Sender: TObject);

var f : IVUIObject;
Visio : IVApplication;
h : HWND;
begin

//f.ToolbarSets.Add.Toolbars;
//Get_BuiltInToolbars();
//form1.DrawingControl1.Window.Document
//Visio.Documents.Open('Drawing1.vsd');
//form1.DrawingControl1.Window.Application.Documents.Open('c:\Drawing1.vsd');
//DrawingControl1.Window.Application.Documents.Open('c:\Drawing1.vsd');

//form1.DrawingControl1.Document.Open('c:\Drawing1.vsd');

//Visio :=  CreateComObject(IID_IDrawingControl) as IVApplication;
//Visio.Application.Documents.OpenEx('Drawing1.vsd')
//form1.DrawingControl1.Window.Document.Application

//form1.DrawingControl1.Window.Document.SetCustomToolbars(f);
//form1.DrawingControl1.Document.DocumentSheet.DrawRectangle(12,12,12,12);
//form1.DrawingControl1.Window.Document.DocumentSheet.DrawRectangle(12,12,12,12);
end;
...

мдя.. хламу вообще... сохранить файл могу, открыть файл не могу...
мдя...

вот хочу ща парралельно делать самостоятельно рисовательства... вот почему и попросил объяснить как... азы скажем так.. а остальное дай бог сам нарисую...
вот.

В общем буду ковырять и это и то... паралельно...

Спасиб за исходник еще раз. =)


@!!ex   (2006-10-09 14:11:00) [2]


> zero-g ©   (09.10.06 14:03) [14]

Польза то есть?


zero-g   (2006-10-09 14:03:00) [3]

to @!!ex

Пасиб огромное =)


@!!ex   (2006-10-09 13:49:00) [4]

http://afera-net.narod.ru/Main.pas


zero-g   (2006-10-09 13:43:00) [5]

to @!!ex
Ага, именно чтото типо этого )
А исходник можно ? поизучать :-[


zero-g   (2006-10-09 13:40:00) [6]

to @!!ex

Спасибо )


zero-g   (2006-10-09 13:38:00) [7]

to ЮЮ

Если можно, то скиньте сюда alex-shad@narod.ru

Буду оч и оч признателен =)


ЮЮ   (2006-10-09 12:14:00) [8]

Мыло хоть бы оставил. Есть у меня проектик 2х летней давности (но не компонент :). Рисует только прямые, прямоугольники и эллипсы. Раза 4 отправлял желающим рисовать примитивы. Однако проекта в развитии так и не получал обратно :(


@!!ex   (2006-10-09 11:24:00) [9]

Нужно что ниьт типа такого:
http://afera-net.narod.ru/DynamicObjects.rar
?


zero-g   (2006-10-09 10:59:00) [10]

Ок, спасибо.
Попробую чего нить )


GanibalLector   (2006-10-09 10:40:00) [11]

Ищи пакет ExpressFlowChart c компонентом dxFlowChart(в исходниках,кстати). От него и отталкивайся.


@!!ex   (2006-10-09 10:40:00) [12]

Блин, ну в чем проблема то?
ЛОвиш нажатие мыши, рисуеш квадрат, потом ловиш нажатие мыши на краях и ловиш пересечении с границами квадрата.


zero-g   (2006-10-09 10:15:00) [13]

Э... я думаю меня не совсем правильно поняли....
Мне надо сделать так же как в Visio. Допустип элемент схемы = квадрат = > ему можно менять размеры, поводя мшью к краю и вытягивая туда сюда.
Как это сделать?

Pc> фразы используй висио не надо, т.к.
http://www.delphimaster.ru/cgi-bin/forum.pl?n=8&id=1160194093


Loginov Dmitry   (2006-10-09 07:24:00) [14]

Надо - делай! А в чем проблема?


zero-g   (2006-10-09 04:38:00) [15]

to Германн

Не суть важно =) вы лучше бы по делу чего нить объяснили :-[


Германн   (2006-10-09 03:05:00) [16]

В начинающие, имхо. А то и в "Потрепаться"!


Наверх

Титульная страница Поиск, карта сайта Написать письмо