доступ к Pick Color

MapInfo, MapBasic
Ответить
Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

доступ к Pick Color

Сообщение Stasss » 22 мар 2018, 14:23

Приветствую!
Интересуюсь, как получить доступ к элементам Red, Green, Blue диалога "Pick Color" из программ MapBasic или .NET ?
Т.е. например, когда этот диалог открыт, я бы мог ему "подсунуть" эти три компоненты извне.
Вложения
pick.jpg
pick.jpg (67.2 КБ) 7340 просмотров

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: доступ к Pick Color

Сообщение Sibit » 23 мар 2018, 08:10

А зачем такие сложности? Очевидно же, что из MapBasic нельзя получить прямой доступ к диалогам, что рисует Mapinfo.

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: доступ к Pick Color

Сообщение freeExec » 23 мар 2018, 08:25

Правьте сам стиль, а не цвет в диалоге.

Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

Re: доступ к Pick Color

Сообщение Stasss » 23 мар 2018, 09:31

freeExec писал(а):
23 мар 2018, 08:25
Правьте сам стиль
Стили же все разные: тематики, разные типы объектов....
А этот диалог один на всех. Или может я вас не понял.....

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: доступ к Pick Color

Сообщение freeExec » 23 мар 2018, 09:56

Какой у вас кейс с "исправить цвет в окошке"?

Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

Re: доступ к Pick Color

Сообщение Stasss » 23 мар 2018, 10:50

freeExec писал(а):
23 мар 2018, 09:56
Какой у вас кейс
Я так понимаю, что вопрос значит - для чего мне это?

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: доступ к Pick Color

Сообщение freeExec » 23 мар 2018, 11:14

Да, очевидно, что вы зашли не с того конца.

Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

Re: доступ к Pick Color

Сообщение Stasss » 23 мар 2018, 13:00

freeExec писал(а):
23 мар 2018, 11:14
очевидно, что вы зашли не с того конца
да нееее, цель ясна (ну мне точно).
Хочу сделать кастом-палитру с проименованными заготовками типа "ColorNameN - RRR, GGG, BBB", чтобы не вбивать руками каждый цвет. И именно надо со своими названиями, т.к. так быстрее искать в немалом списке...

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: доступ к Pick Color

Сообщение Boris » 23 мар 2018, 15:29

Предлагаю подвести итог обсуждения данного вопроса - при такой постановке задачи "хочу влезть в стандартную форму 'закрытой' программы, а ваших наводящих вопросов - не хочу".
Доступ к окну может быть реализован с помощью стандартных команд Win API - SelectWindow, SendKey и т.п.
Еще можно хакнуть DLL-ку.
PS
На такие вопросы стоит давать максимально корректные ответы. Как решить задачу присвоение цветов из списка или палитры есть минимум с три разных варианта решений. Но ведь это именно то, что автору и не нужно.

Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

Re: доступ к Pick Color

Сообщение Stasss » 23 мар 2018, 16:19

Boris писал(а):
23 мар 2018, 15:29
а ваших наводящих вопросов - не хочу
не увидел наводящих вопросов......
Boris писал(а):
23 мар 2018, 15:29
Но ведь это именно то, что автору и не нужно.
с чего вы это взяли?
Boris писал(а):
23 мар 2018, 15:29
Как решить задачу присвоение цветов из списка или палитры есть минимум с три разных варианта решений
а вот этим могли бы и поделиться.....раз это относится к теме (а точнее к цели), почему бы мне отказываться.
Я просто увидел один путь, с чего и начал тему. Но от других путей я не отказывался... Где вы это увидели?

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: доступ к Pick Color

Сообщение Boris » 23 мар 2018, 17:31

freeExec писал(а):
23 мар 2018, 09:56
Какой у вас кейс с "исправить цвет в окошке"?
Несколько раз спросили "Зачем?" и "Что собственно делаете?".
Вы ответили
Stasss писал(а):
23 мар 2018, 13:00
да нееее, цель ясна (ну мне точно).
Телепаты на форуме в резком дефиците.
А вот команда присвоения цвета на MapBasic'е хорошо известна,например, из MapInfo Pro Help:
By issuing an Alter Object statement with an Info clause, you can reset an object's style (e.g., the Pen or Brush). The Info clause lets you modify the same style attributes that you can query through the ObjectInfo( ) function.

For example, you can determine an object's current Brush style by calling the ObjectInfo( ) function:

Код: Выделить всё

Dim b_fillstyle As Brush
b_fillstyle = ObjectInfo(Selection.obj, OBJ_INFO_BRUSH) 
Conversely, the following Alter Object statement allows you to reset the Brush style:

Код: Выделить всё

Alter Object obj_variable_name 
	Info OBJ_INFO_BRUSH, b_fillstyle 
Note that you use the same code (e.g., OBJ_INFO_BRUSH) in both the ObjectInfo( ) function and the Alter Object statement. 
Естественно это требует некоторых танцев - выбор объекта или перебор УЖЕ выделенных. Но все эти операции так же описаны.
Вариант 2: На сколько я в курсе, приведенное окно появляется только в случае выбора в палитре квадратика "...". А вот обычные цвета выбираются из нее. Так вот палитра может быть переопределена в настройках Mapinfo -"Custom Colors".

Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

Re: доступ к Pick Color

Сообщение Stasss » 24 мар 2018, 08:44

Boris писал(а):
23 мар 2018, 17:31
Вариант 2:
За варианты спасибо! Буду исследовать.
Но!
Boris писал(а):
23 мар 2018, 17:31
Несколько раз спросили "Зачем?" и "Что собственно делаете?".
Вы ответили
Boris писал(а):
23 мар 2018, 17:31
Stasss писал(а): ↑
Вчера, 15:00
да нееее, цель ясна (ну мне точно).

Телепаты на форуме в резком дефиците.
а ниже что написано?
не это?
Stasss писал(а):
23 мар 2018, 13:00
Хочу сделать кастом-палитру с проименованными заготовками типа "ColorNameN - RRR, GGG, BBB", чтобы не вбивать руками каждый цвет. И именно надо со своими названиями, т.к. так быстрее искать в немалом списке...
Вернуться к началу
Вы издеваетесь? умелое выдергивание из контекста в действии? Пипец просто!!!!!!

И еще все-таки по делу.
Я наблюдал за окном мэпбейсик во время выполнения различных операций присвоения цвета: к объектам, к слою, к элементам тематических карт... Там все сложные коды выходят, и с разными "шапками" (началами). Думается сложно уловить вариативность этого "начала" в прикладной прорамме.
Но все же поисследую еще варианты ваши и прочее...

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: доступ к Pick Color

Сообщение Boris » 24 мар 2018, 13:27

Stasss писал(а):
24 мар 2018, 08:44
Я наблюдал за окном мэпбейсик во время выполнения различных операций присвоения цвета: к объектам, к слою, к элементам тематических карт... Там все сложные коды выходят, и с разными "шапками" (началами). Думается сложно уловить вариативность этого "начала" в прикладной прорамме.
Даже не могу представить, что именно сложное может выдавать MapInfo, что сложнее, чем программирование на MapBasic'е или NET.
Окно MapBasic'а - хорошо, я и сам его часто использую, но документацию оно не отменяет.
Если задача выглядит именно так как написано, а не "хочу присваивать цвета объектам с помощью собственного инструмента выбора цвета", то (см. выше) "замену стандартного окна выбора цвета без вскрытия DLL выполнить нельзя".

Stasss
Участник
Сообщения: 68
Зарегистрирован: 15 фев 2018, 18:07
Репутация: 1
Откуда: оттуда

Re: доступ к Pick Color

Сообщение Stasss » 25 мар 2018, 08:46

Нашел оператор Alter MapInfoDialog !
Sibit писал(а):
23 мар 2018, 08:10
Очевидно же, что из MapBasic нельзя получить прямой доступ к диалогам, что рисует Mapinfo.
Так что вы не правы...

Теперь этот оператор нужно подробно изучить, а также все, что ему сопутсвует....

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 5 гостей