Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
jeder
Зарегистрирован: 28.08.2006 Сообщения: 10
|
Добавлено: Чт Dec 07, 2006 1:56 pm Заголовок сообщения: Растровые файлы с фиксированным размещением |
|
|
Уважаемые господа, подскажите, пожалуйста, как реализовать следующую задумку.
Есть множество растровых файлов. Файлы подгружаются не интерактивно, а фиксировано, т.е. каждый размещается строго на своём месте.
Запомнить куда какой файл нужно подгрузить - нереально!
Хотелось бы, чтобы подгружался нужный файл, просто ткнув мышкой в нужную область рабочего пространства. Как этого добиться (на VBA)?
И как на VBA в свою программу получить информацию о расположении указателя на экране?
Заранее, всем спасибо! |
|
Вернуться к началу |
|
|
Dmitriy
Зарегистрирован: 26.07.2006 Сообщения: 14 Откуда: Тюмень
|
Добавлено: Пт Dec 08, 2006 9:46 am Заголовок сообщения: |
|
|
Про координаты мышки...
Почитай в хелпе IPrimitiveCommandEvents.
Примеры использования там тоже есть. |
|
Вернуться к началу |
|
|
Natash
Зарегистрирован: 07.03.2007 Сообщения: 21
|
Добавлено: Чт Мар 08, 2007 10:23 am Заголовок сообщения: |
|
|
у меня смежный к теме вопрос
на бейсике реализована такая задача, как автор описывает. один недостаток... не проверяется, загружен ли уже растр на месте куда пользователь кликает. Грузить то грузит, но не проверяет, есть ли уже что то... а ето не красиво
така я же беда с закрытием растров, выгружать выгружает, но не проверяет...
я начинающая. проконсультируйте пожалуйста. как на МСбейсике такую штуку сделать
спасибо |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Мар 08, 2007 10:42 pm Заголовок сообщения: |
|
|
Natash
А все-таки, в чем вы собираетесь это делать - в VBA или MS Basic? _________________ Непонимание различия операторов OR и XOR может привести к зависанию в проеме. Спросите у Винни-Пуха. |
|
Вернуться к началу |
|
|
Natash
Зарегистрирован: 07.03.2007 Сообщения: 21
|
Добавлено: Пт Мар 09, 2007 9:47 am Заголовок сообщения: |
|
|
Leonid писал(а): | Natash
А все-таки, в чем вы собираетесь это делать - в VBA или MS Basic? |
v ms basic
скрипты написаны на нем, просто хочу довести до ума...
т.е. заделать внутрь часть которая проверяет, есть ли на том месте куда кликают уже растр
каким образом ето сделать не найду никак
перерыла интернет...
код читать могу, но и без него разобралась бы наверное, если б подсказка была
в гуиде про работу с растрами не нашла ничего
и я только начинаю осваивать программирование...
короче дуб, но активный |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пт Мар 09, 2007 2:35 pm Заголовок сообщения: |
|
|
Natash
Интернет перерывать бесполезно, там про МС басик врядли что толкового есть.
В руководстве по МС басику есть упоминание только про
MbeElement.type = MBE_RasterHeader
То есть по идее можно, если пойман элемент - проверить, является и он растром или нет.
Код: |
Dim element as New MbeElement
... ' get an element by some method
If element.type = MBE_RasterHeader Then
... ' process element
End If
|
Если приведете ваш код, может еще чего умного подскажу. _________________ Непонимание различия операторов OR и XOR может привести к зависанию в проеме. Спросите у Винни-Пуха. |
|
Вернуться к началу |
|
|
Natash
Зарегистрирован: 07.03.2007 Сообщения: 21
|
Добавлено: Вт Июн 05, 2007 1:20 pm Заголовок сообщения: |
|
|
Leonid писал(а): | Natash
Если приведете ваш код, может еще чего умного подскажу. |
привет
я все с тем же вопросом, есть скрипт который выгружает растр из группы загруженных, кликаешь на растр и он выгружается
вопрос что бы такое сделать, что б еще и проверялось, в то ли место кликнуто, т.е. есть ли на месте кликания растер.
привожу код для наглядности
Код: |
Option Explicit
Sub TestPoistaKuva()
Dim oMessage As CadInputMessage
Dim OsoitusPiste As Point3d
Dim oRasterNum As ElementEnumerator
Dim oRaster As Raster
Dim theRasters As Rasters
CommandState.StartDefaultCommand
Application.ShowCommand "Running images dettaching"
CadInputQueue.SendCommand "IMGMANAGER IMAGE UNSELECT"
Do While True
If RasterManager.Rasters.Count < 1 Then
Application.ShowPrompt ""
MsgBox "There in no images to dettaching. Action was stopped"
Application.ShowStatus ""
Exit Sub
End If
' Wait for input.
ASK:
Application.ShowPrompt " Select image to dettach / or press reset to exit"
Set oMessage = CadInputQueue.GetInput(msdCadInputTypeDataPoint, msdCadInputTypeReset)
' Now process the message
If oMessage.InputType = msdCadInputTypeDataPoint Then
OsoitusPiste = oMessage.point
ElseIf oMessage.InputType = msdCadInputTypeReset Then
Application.ShowPrompt " Got reset, will exit now"
Application.ShowStatus ""
Exit Sub
End If
ShowStatus "x = " & OsoitusPiste.X & ", y = " & OsoitusPiste.Y & ", z = " _
& OsoitusPiste.Z
' Select an image
CadInputQueue.SendCommand "IMGMANAGER IMAGE SELECT"
CadInputQueue.SendDataPoint OsoitusPiste
' ...Tut neponjatno
' ...Set theRasters = RasterManager.Rasters.GetSelectedRasters
' ...For Each...
' ...If oRaster.ExtendedInformation.IsSelected = True Then
CadInputQueue.SendCommand "RASTER DETACH"
' Else: MsgBox "Raster is not selected. Try again"
' GoTo ASK
' End If
Loop
End Sub
|
спасибо |
|
Вернуться к началу |
|
|
Natash
Зарегистрирован: 07.03.2007 Сообщения: 21
|
Добавлено: Вт Июн 05, 2007 2:01 pm Заголовок сообщения: |
|
|
Natash писал(а): | что бы такое сделать, что б еще и проверялось, в то ли место кликнуто, т.е. есть ли на месте кликания растер.
|
сама спрашивала сама и отвечаю, нашлось кое-какое решение
вот
Код: |
Set oEnum = RasterManager.Rasters.GetSelectedRasters
If oEnum.MoveNext = True Then
CadInputQueue.SendCommand "RASTER DETACH"
Else: MsgBox "Raster is not selected. Try again"
GoTo ASK
End If
|
если б кто еще подсказал, как оно вообще, насколько неграмотно и коряво и что и где можно и нужно доработать
спасибо |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Июн 06, 2007 10:13 am Заголовок сообщения: |
|
|
А что... очень даже прилично и аккуратно
Главное - чтобы работало. |
|
Вернуться к началу |
|
|
Юра
Зарегистрирован: 30.01.2006 Сообщения: 59
|
Добавлено: Ср Июн 13, 2007 3:31 pm Заголовок сообщения: |
|
|
Главное что бы код был оптимальным )
а то буит как сейчас понапишут килотонны не оптмизированных программ а потом говорим - Тромозит ... ! |
|
Вернуться к началу |
|
|
Natash
Зарегистрирован: 07.03.2007 Сообщения: 21
|
Добавлено: Пт Июн 15, 2007 4:10 pm Заголовок сообщения: |
|
|
Юра писал(а): | Главное что бы код был оптимальным )
а то буит как сейчас понапишут килотонны не оптмизированных программ а потом говорим - Тромозит ... ! |
оптимальный ето как? я только в начале пути, что такое оптимизация не помню
просвятите, прошу, пожалуйста, очень нужно
спасибо всем, кто откликается на просьбы мои и кто не забыл, как сам был в начале пути |
|
Вернуться к началу |
|
|
|