5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
1 | |
Как поместить форму рядом с активной ячейкой?15.11.2014, 09:46. Показов 5183. Ответов 8
Метки нет (Все метки)
Здравствуйте.
В приложенном файле если щёлкнуть два раза по любой ячейке, то появится форма. С помощью API-функции GetCursorPos и двух функций Excel: PointsToScreenPixelsX и PointsToScreenPixelsY, можно поместить форму рядом с ячейкой, по которой щёлкнули (если щёлнкуть по ячейке, то ячейка станет активной)?
0
|
15.11.2014, 09:46 | |
Ответы с готовыми решениями:
8
Как функцией прописать рядом с ячейкой с числом 48 Как в офисе 97 закрыть только форму кнопкой, а Вордбук оставить открытой-активной? Как на форму в Excel поместить таблицу, содержащую данные с другого листа Отобразить подсказку рядом с активной ячейкой dataGridView1 |
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,223
|
||||||
15.11.2014, 10:48 | 2 | |||||
Скрипт,
Это вопрос или утвержение? Если утверждение, то как-то криво работает. Можно без апи просто по координатам астивной ячейки + ширина бордюра и линейки
0
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
15.11.2014, 10:55 [ТС] | 3 |
Alex77755, про что Вы спрашиваете "это вопрос или утверждение"? В первом сообщении есть знак вопроса. Я его позднее поставил. Вы, наверное, первую версию сообщения посмотрели.
Alex77755, но на компьютерах могут быть разные ситуации, поэтому заранее не известно, сколько нужно добавить. Я так понимаю, что в моём вопросе основная проблема - это нужно перевести пикселы в пункты. Я так понял, что это сложная задача.
0
|
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,223
|
|
15.11.2014, 12:08 | 4 |
Не проверял. Чисто справочник
0
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
15.11.2014, 12:21 [ТС] | 5 |
Alex77755, Вы не знаете, зачем нужна excel-функция "PointsToScreenPixelsX"?
Если логически рассуждать, то эта функция переводит пункты в пикселы. Вот так я узнаю, сколько в одном пункте пикселов, или я неправильно понимаю:? Debug.Print ActiveWindow.PointsToScreenPixelsX(1) Если я знаю, сколько в одном пункте пикселов, затем я могу перевести пикселы в пункты. Или я неправильно считаю?
0
|
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,223
|
|
15.11.2014, 12:34 | 6 |
Не задавался таким вопросом.
Попробовал просто подобрать к-т. получилось 1.33 и выставляет форму приблизительно(надо добавлять ширину рамки Погуглил. Нашёл такое
2
|
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
16.11.2014, 14:46 | 7 | |||||
Скрипт, Если нужно отобразить форму с учётом месторасположения курсора мышки, то я использовал следующие функции WinAPI :
2
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
17.11.2014, 12:32 [ТС] | 8 |
pashulka, по Вашей ссылке стал читать, там написано:
Note also that FormPositioner does not work on split windows or frozen panes. Support for split windows and frozen panes will be added in a later release. Я так понял, что предложенный способ не универсальный.
0
|
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
18.11.2014, 02:09 | 9 |
Скрипт, Нет в мире совершенства, но есть стремление к оному
А если серьёзно, и Вас "пугает" закреплённая область и разделённое окно, то здесь можно скачать аналогичный пример для 32-x офиса. Разумеется он также не является универсальным, ибо нужно ещё предотвращать вывод формы за границы приложения(или экрана), т.е. как минимум добавить(и использовать) функцию WinAPI - GetWindowRect
1
|
18.11.2014, 02:09 | |
18.11.2014, 02:09 | |
Помогаю со студенческими работами здесь
9
Как создать кнопку рядом с ячейкой WinGrid и по этой кнопке создать форму с текстовым полем из этой ячейки? Как в DataGridView показать рядом с выделенной ячейкой окно для редактирования? Как в DataGridView показать рядом с выделенной ячейкой/строкой окно для редактирования? Как сделать форму активной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|