Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: РЕДАКТОР СХЕМ !!! Добавлено: 21.04.05 03:29  

Автор вопроса:  KOKA
Уважаемые господа человеки, знающие или покоряющие науку на Visual

Basic .NET 2003...
Мне ОЧЕНЬ нужна ваша помощь,и у меня очень Важный и СЛОЖНЫЙ вопрс !!!

Программа должна работать и манипулировать ОБЪЕКТАМИ !
То есть, нужно создать ну хоть что-то похожее на Microsoft Visio или на

другие (желательно по электронике) программы, где по сетке таскаются,

переворачиваються, увеличиваються или уменьшаються электронные

компоненты. Чтобы эти компоненты (объекты) можно добавлять, удалять,

соединять между собой, динамически создавать свою элементную базу в

виде библиотек и т.д.
Вобщем, проще - это не очень сложный редактор принципиальных

электрических-электронных схем и узлов электронной аппаратуры.
И это все нужно на VB 6.0, а желательно на VB.NET.
Если кто сможет чем-то помочь, буду весьма благодарен !!!
Заранее спасибо, с меня могорычь... :)

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 danser



ICQ: 299287824 

Вопросов: 76
Ответов: 209
 Профиль | | #1 Добавлено: 22.04.05 11:32
Осталось - всего ничего, приСесть и сделать...

Кстати, уже один раз писал ответ но чето его не видно...недошел наверно...

Щось подібне робив, тільки моя прога по заданих вузлах елементів, будувала їх розміщення на схемі - тобто побудова схеми по наявних вузлах...

Ответить

Номер ответа: 2
Автор ответа:
 KOKA



Вопросов: 14
Ответов: 27
 Профиль | | #2 Добавлено: 23.04.05 01:39
Danser, очень интересно ! Если можешь... :-)
Но, все-же, мне не нужно каких-то P-CAD и т.д.
У меня простой граф. редактор эл. схем, похожий на слабую тень Visio, а лучше бы на sPlan 5.0.
Я не прошу написать прогу, я Очень прошу помочь...
Например, как можно оюъекты (т.е. эл.управления):
- динамически создавать
- удалять
- соединять между собой
- вертеть
- привязать к сетке
- увелич. и уменьшать
Круто будет если как-нибудь сделать, чтобы пользователь мог создавать свою библиотеку радиоэлементов (см. sPlan)

У меня много есть идей по реализации этих функций, но безВашей помощи мне никак...

Господа, помогите кто-чем сможет, пожалуйста, ааа...

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 23.04.05 02:22
Я знаю только как создавать, как удалять и имею небольшое представление как менять родителя. а так можно дудумать толпой

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 23.04.05 03:03
Кстати, если например будешь создавать кнопки, то не желательно создавать так (имхо) :

Controls.Add "VB.CommandButton", "Baton", frmForm
With frmForm.Controls("Baton";)
  .Visible = True
  .Width = 1500
  .Height = 150
  .Top = 0
  .Left = 0
  .caption="Caption"
End With


так как не понятно (лично мне) как её заставить работать. А если кто - то знает подскажите плиз!!!!!!!
Добавлять можно вот так:

Option Explicit
Private WithEvents Baton As CommandButton

Private Sub Baton_click()
MsgBox "Hello world!"
End Sub

Private Sub Form_Load()
ScaleMode = 3
Set Baton = Controls.Add("VB.CommandButton", "Baton", frmForm)
With frmForm.Controls("Baton";)
  .Visible = True
  .Width = 100
  .Height = 30
  .Top = 30
  .Left = 30
  .Caption = "Fuck it all"
End With
End Sub

В этом случае при клике по ней выдаст сообщение

Ответить

Номер ответа: 5
Автор ответа:
 danser



ICQ: 299287824 

Вопросов: 76
Ответов: 209
 Профиль | | #5 Добавлено: 25.04.05 09:42
Ненавижу слово толпа...толпа никогда ничего толкового не создаст...
(Напишу по українські мові бо на російській важко пояснити)
Головне вікно програми поділене на три частиини.
1-ша - дерево де знаходяться елементи, друга - властивості кожного елемента дерева, третя - графічна поверхня де малюються елементи дерева в залежності від їх властивостей.
Для кожного елемента реалізований клас. В дереві кожний екземпляр класу знаходиться в Node(i).Tag
Короче потрібно дивитися код...
Дай адресу куди вислати...
А так як в студії...тут основна фішка навчитись "тягати" уі елементи по формі, а там вже думаю нескладно...

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 25.04.05 15:57
блин, кто нибудь, перевелите!
Всегда отличался непонятливостью :)

Ответить

Номер ответа: 7
Автор ответа:
 KOKA



Вопросов: 14
Ответов: 27
 Профиль | | #7 Добавлено: 28.04.05 04:00
danser, моя адреса: KOKAEnterprise@online.com.ua
У мене ще багато питань щодо теми і до тебе...

Ответить

Номер ответа: 8
Автор ответа:
 Diavolo



Вопросов: 6
Ответов: 46
 Профиль | | #8 Добавлено: 05.05.05 11:29
На счет контролов. Если уж создавать динамически, то мне кажется лучший вариант вот такой:
Private Sub firstForm_Load(ByVal sender As System.Object, _
              ByVal e As System.EventArgs) Handles MyBase.Load

      ' Declare new instances of the RadioButton control class
      Dim Rd1 As RadioButton = New RadioButton()
      Dim Rd2 As RadioButton = New RadioButton()
      Dim Rd3 As RadioButton = New RadioButton()

      ' Position the controls
              Rd1.Location = New System.Drawing.Point(15, 90)
              Rd2.Location = New System.Drawing.Point(15, 120)
              Rd3.Location = New System.Drawing.Point(15, 150)

              ' Assign a text value for these controls
      Rd1.Text = "Red"
      Rd2.Text = "White"
      Rd3.Text = "Blue"

              ' Add to the forms controls collection
      Me.Controls.AddRange(New Control() {Rd1, Rd2, Rd3})

              ' Add event handlers for the controls
      AddHandler Rd1.Click, AddressOf GenericClick
      AddHandler Rd2.Click, AddressOf GenericClick
      AddHandler Rd3.Click, AddressOf GenericClick

  End Sub

      Public Sub GenericClick(ByVal sender As System.Object, _
         ByVal e As System.EventArgs)

              Select Case sender.text
                      Case "Red"
                              Me.BackColor = Color.Red
                      Case "White"
                              Me.BackColor = Color.White
                      Case "Blue"
                              Me.BackColor = Color.Blue
              End Select

      End Sub


Ответить

Номер ответа: 9
Автор ответа:
 KOKA



Вопросов: 14
Ответов: 27
 Профиль | | #9 Добавлено: 05.05.05 22:21
Пасибо, danser, Diavolo !!!
Похожее на решение нашел на сайте с MSDN...
Кому интересно можете взглянуть, тема звучит так:
"Creating a Design Surface Using Windows Forms and GDI+ in Microsoft .NET".
Там же приложен пример:
http://download.microsoft.com/download/VisualStudioNET/sample/1.0/NT45XP/EN-US/DesignSurface.exe

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам