Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как определить, в какой области графической области dcl был выполнен клик?

Как определить, в какой области графической области dcl был выполнен клик?

Ответ
Поиск в этой теме
Непрочитано 12.10.2010, 09:09 #1
Как определить, в какой области графической области dcl был выполнен клик?
Лиспер
 
Регистрация: 11.10.2010
Сообщений: 980

Здрасьте всем
Помогите, плиз. Есть dcl:
Код:
[Выделить все]
dlg:dialog{label="test";
:image{key="img";}
ok_cancel;}
На image с помощью vector_image выполняется какое-то рисование, но суть не в этом. Суть в том, что пользователь выполняет клик на какой-то области image, при этом выход из диалога не выполняется. В зависимости от того, в какой области (или точке) был выполнен клик, надо перерисовывать image.
Какой action_tile должен быть повешен на image? Если можно, более-менее работающий пример.
Спасибо.
---
Все, тему можно закрывать. А мне - лечиться Это ж надо было, вместо image_button подставить image и ждать реакции!

Последний раз редактировалось Лиспер, 12.10.2010 в 09:51.
Просмотров: 6673
 
Непрочитано 12.10.2010, 10:07
#2
sbi


 
Регистрация: 27.04.2008
SPB
Сообщений: 3,285
Отправить сообщение для sbi с помощью Skype™


Поздравляю! И желаю приятного отдыха!
__________________
С уважением sbi
sbi вне форума  
 
Непрочитано 12.10.2010, 10:28
#3
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


>Лиспер
Делать подобное с помощью DCL - это извращение. Вообще, рисовать с помощью GDI/GDI++, со всякими "перерисовками" и попытками отслеживания различных событий не рекомендую - процессор жалко, да и не стоит оно затраченных усилий.
Указанная задача на раз решается с помощью WPF. При этом вместо GDI/GDI++ используется DirectX, вся графика - векторная, и расчитывается видеокартой, а не ЦП, никаких "перерисовок" не нужно, полный контроль над происходящим - вы ограничены только рамками своей фантазии.
Создать такое окно и реализовать его взаимодействие с LISP не сложно (хотя я против такого изврата).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 12.10.2010, 10:39
#4
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 980


hwd, хы, кто бы спорил... я с СОМ-объектами уже навоевался, хватит. А на WPF (что такое WTF - знаю, а вот с Вашим сокращением - мимо) - могет быть, могет быть... Только не скоро.
Лиспер вне форума  
 
Непрочитано 12.10.2010, 10:50
#5
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Лиспер Посмотреть сообщение
hwdА на WPF (что такое WTF - знаю, а вот с Вашим сокращением - мимо)
В гугле есть - это последняя технология создания GUI. Можно быстро создавать интерфейс с помощью XAML-разметки (разновидность XML).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 12.10.2010, 13:23
#6
Sad Dog

Ищу работу
 
Регистрация: 12.06.2010
Сообщений: 35


Цитата:
Создать такое окно и реализовать его взаимодействие с LISP не сложно
Ну это как посмотреть. Два достойных учебника по WPF (Петцольд и Мак Дональд) в сумме тянут на 2000 страниц. Плюс совершенно необходимы приличные знания по .NET и C#. Плюс трудности освоения .NET ObjectARX для AutoCAD - за пять лет так и не увидела свет нормальная документация (нормальная - это так, как сделано в MSDN). У меня такой переход с DCL на WPF занял бы пару лет, не меньше.
Sad Dog вне форума  
 
Непрочитано 12.10.2010, 13:44
#7
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Sad Dog Посмотреть сообщение
Два достойных учебника по WPF (Петцольд и Мак Дональд) в сумме тянут на 2000 страниц.
Я знаю (входят в перечень моих настольных книг). Дык там и разжёвано так, что понятно будет даже полену.
Цитата:
Сообщение от Sad Dog Посмотреть сообщение
совершенно необходимы приличные знания по .NET и C#.
Знания по .net - да, нужны. Знание C# не обязательно - можно юзать VB.Net.

Цитата:
Сообщение от Sad Dog Посмотреть сообщение
Плюс трудности освоения .NET ObjectARX для AutoCAD - за пять лет так и не увидела свет нормальная документация (нормальная - это так, как сделано в MSDN)
Понятие "трудности" относительно. Эти трудности однозначно преодолимы, а толку в результате будет гораздо больше, чем "танцы с бубном" автора топика.
Цитата:
Сообщение от Sad Dog Посмотреть сообщение
У меня такой переход с DCL на WPF занял бы пару лет, не меньше.
Неправда - разобраться в WPF (на вполне приемлимом уровне) можно меньше чем за месяц - проверено на своём опыте.

"когда _ваще все_ человек пытается делать с помощью автолиспа" (с) - это плохой подход. В данном случае мы видим наглядный пример того, что человек пытается решить задачу средствами, не предназначенными для решения таких задач. Выход - нужно знать более чем один прикладной язык, чтобы расширить круг своих возможностей. Поскольку я знаю .Net - именно о нём и пишу.

Lisp - замечательный язык. AutoLisp весьма урезанный прикладной вариант Lisp. Нравится Lisp? Хотите большего, чем то, что вам может предоставить AutoLisp\VisualLisp (как например то, что хотят в этом топике) - изучите Common Lisp. Знания языка у лисперов уже имеется, так что освоение библиотек Common Lisp пройдёт на ура и весьма шустро.
Зато вы выйдете за рамки отведённой вам от Autodesk песочницы и более не будет рождаться таких галимых (не побоюсь этого слова) решений, как работа с базами данных с использованием текстовых файлов.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 12.10.2010 в 14:20.
hwd вне форума  
 
Непрочитано 13.10.2010, 18:56
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Где можно по дешевке купить MS Visual Studio c 6й по 10ю версии?
gomer вне форума  
 
Непрочитано 13.10.2010, 20:27
#9
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
Где можно по дешевке купить MS Visual Studio c 6й по 10ю версии?
Глупый вопрос. Тынц.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.10.2010, 21:56
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


<...> Фигню написал.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.10.2010, 22:29
#11
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Фигню написал.
Мне пришло это (не затёртое твоё сообщение) по почте
Кстати, а несколько дней назад пришло это:



Так что ежели цена устраивает - дерзай
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.10.2010, 22:39
#12
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


Offtop: В том-то и дело, что дорого. Я за 2008 Standard Edition заплатил около 4 штук, а тут не меньше 13 получится (учитывая накрутки). Не, я пока пас.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.10.2010, 22:46
#13
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Offtop: В том-то и дело, что дорого. Я за 2008 Standard Edition заплатил около 4 штук, а тут не меньше 13 получится (учитывая накрутки). Не, я пока пас.
Offtop: т.е. тебе не компания покупает, а ты сам себе домой? Кроме того, на всяк. случай уточню - эта IDE для .NET-программирования. Неуправляемый код тоже может компилировать, но только для C++. На лиспах/делфях там не попишешь...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.10.2010, 22:54
#14
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


Offtop: Конечно сам! Чтоб компания да разорилась на 13 косарей? Тю, моя такое не верить.
P.S. Примерные возможности VS я знаю
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.10.2010, 22:58
#15
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Задача по теме прекрасно решается и на автолисп...
gomer вне форума  
 
Непрочитано 13.10.2010, 23:03
#16
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
Задача по теме прекрасно решается и на автолисп...
решение в студию...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.10.2010, 23:29
#17
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,833


А чего там решать? В качестве "фона" используется dcl-контрол "image_button", в функцию обработки клика передаются как минимум переменные действия $x и $y. Все достаточно просто...
Или надо полноценный пример?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.10.2010, 23:31
#18
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А чего там решать? В качестве "фона" используется dcl-контрол "image_button", в функцию обработки клика передаются как минимум переменные действия $x и $y. Все достаточно просто...
Или надо полноценный пример?
Я не знал, что "image_button" может вернуть координаты точки, по которой был выполнен клик. Тогда согласен - легко решаемо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.10.2010, 23:39
#19
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Н.Полещук, П.Лоскутов - AutoLisp и VisualLisp в среде AutoCAD, глава 3, п.3.6.8.2 и далее...
gomer вне форума  
 
Непрочитано 13.10.2010, 23:42
#20
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
Н.Полещук, П.Лоскутов - AutoLisp и VisualLisp в среде AutoCAD, глава 3, п.3.6.8.2 и далее...
Я не пишу на лиспе, можно было уже это запомнить
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как определить, в какой области графической области dcl был выполнен клик?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск