![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание своих обьектов на форме [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]В начинающие, имхо. А то и в "Потрепаться"!