Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/55: Рейтинг темы: голосов - 55, средняя оценка - 4.71
2 / 2 / 0
Регистрация: 04.06.2012
Сообщений: 27
1

Нарисовать на форме линию, желательно не програмно

15.06.2012, 17:49. Показов 10797. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как на форме VBA (Excel) нарисовать линию? (необходимо табличку разлинеить). Благодарю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2012, 17:49
Ответы с готовыми решениями:

Как нарисовать на форме линию?
Приветствую! Можно ли добавить в область "Toolbox" элемент управления для рисования линии? Что я...

Как нарисовать линию в форме?
как нарисовать линию в windows form application c++??? пробовал та: ... LineTo(x,y); - не...

Как нарисовать линию на форме?
Казалось бы простой вопрос, но я начинающий. Хэлп плиз)))

Нарисовать линию не на форме, а поверх контрола!!!
Мужики!!! Как нарисовать линию поверх любого контрола?

8
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,125
Записей в блоге: 14
15.06.2012, 18:03 2
Не программно, боюсь, никак...
1
200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
17.06.2012, 01:51 3
вроде с помощью WinAPI можно на форме рисовать
1
Эксперт WindowsАвтор FAQ
18007 / 7708 / 892
Регистрация: 25.12.2011
Сообщений: 11,481
Записей в блоге: 16
17.06.2012, 02:31 4

Не по теме:

Цитата Сообщение от SoLLeR Посмотреть сообщение
желательно не програмно
Ручкой что-ли? :D



MsFlexGrid подойдет?
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,125
Записей в блоге: 14
17.06.2012, 09:54 5
Лучший ответ Сообщение было отмечено как решение

Решение

WinAPI - это тоже программный путь... Grid-ы надо регистрировать. Я предлагаю, хотя и программный, но "облегченный" вариант - программное создание сетки из Labl-лов.
Вложения
Тип файла: zip VBA-06.zip (10.2 Кб, 105 просмотров)
4
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,125
Записей в блоге: 14
17.06.2012, 10:19 6
Картинка:
Миниатюры
Нарисовать на форме линию, желательно не програмно  
2
4 / 4 / 1
Регистрация: 21.05.2012
Сообщений: 12
18.06.2012, 14:12 7
Лучший ответ Сообщение было отмечено как решение

Решение

Если вы хотите нарисовать линию на форме, то значит, что вы, уже, применяете редактор VBA. Используйте элемент управления Frame Control, либо LabelControl, вставив в окно формы UserForm. Они наименее громоздкие с точки зрения потребления оперативной памяти. Воспользуйтесь окном свойств для настройки данных элементов. Следует установить соответствующее значение свойства Height (если нужна верстикальная линия) или Width (если горизонтальная), чтобы установить необходимую толщину линии. Также нужно установить свойства Caption для указанных элементов равными пустой строке "".
Дополнительно для элемента управления Frame установите свойство SpecialEffect к fmSpecialEffectFlat, тогда рамка исчезнет и вы сможете воспользоваться свойством BackColor для установки необходимого цвета этого элемента, который будет теперь являться линией, если соотношение размеров его ширины к высоте значительно (>> 10). Если необходима пунктирная или линия по образцу, то создайте соотвествующую картинку в формате BMP, GIF, JPG, ICO, CUR, WMF, EMF или DIB и установите на нее ссылку через свойство Picture.
Если воспользуетесь свойством Label, то достаточно установить свойство BorderStyle = fmBorderStyleSingle, а свойство Height или Width установить равным 1. Тогда вы получите тонкую линию. Чтобы получить толстую линию или линию по образцу используйте свойства BackColor или Picture, как и описано выше для Frame Control. Кроме того, у элемента Label имеется свойство BackStyle, которое позволяет установить прозрачность (frmBackStyleReansparent) для цвета на вставленной картинке Picture, который совпадает с цветом BackColor элемента Label. Это дает некоторые преимущества при отображении данного элемента.
С помощью данных элементов управления можно отобразить в окне UserForm горизонтальные или вертикальные линии. Для наклонных линий с некоторой натяжкой можно использовать элемент Label, как описано выше, установив путь для его свойства Picture к файлу изображения, содержащему картинку наклонной линии и воспользовавшись свойством BackStyle для установки прозрачности фона на этой картике.
Альтернативным способом является использование WinAPI, но это уже для знатоков программирования. К тому же и для этого способа имеются некоторые проблемы, связанные с восстановлением изображения в окне формы, если оно было частично или полностью перекрыто другим окном, так как нарисованные вами линии с применением WinAPI исчезнут и возникнет необходимость их перерисовки.
Короче, эспериментируйте!
3
2 / 2 / 0
Регистрация: 04.06.2012
Сообщений: 27
18.06.2012, 16:33  [ТС] 8
Большое спасибо всем, кто отвечал. О большинстве способов, описанных сдесь, я уже знал. Просто казалось что должна же быть просто кнопка "нарисовать линию". Прошу прощения если зря потратил ваше время
0
4 / 4 / 1
Регистрация: 21.05.2012
Сообщений: 12
18.06.2012, 22:46 9
В моем предыдущем сообщении в 3 абзаце была пара опечаток. Вот исправленный текст этого абзаца:

Если воспользуетесь элементом управления Label, то достаточно установить свойство BorderStyle = fmBorderStyleSingle, а свойство Height или Width установить равным 1. Тогда вы получите тонкую линию. Чтобы получить толстую линию или линию по образцу используйте свойства BackColor или Picture, как и описано выше для Frame Control. Кроме того, у элемента Label имеется свойство BackStyle, которое позволяет установить прозрачность (frmBackStyleTransparent) для цвета на вставленной картинке Picture, который совпадает с цветом BackColor элемента Label. Это дает некоторые преимущества при отображении данного элемента.
1
18.06.2012, 22:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2012, 22:46
Помогаю со студенческими работами здесь

Ошибка синтаксиса при попытке нарисовать линию на форме
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Как нарисовать линию на форме, перекрывающую так же и контроллы на ней?
Подскажите как сделать линию поверх кнопок как на рисунке 1(сделан в паинте), а то у меня...

Рисуем програмно линию
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { Graphics^ g =...

Нарисовать на label изображение програмно
Здравствуйте подскажите пожалуйста как можно нарисовать на лэйбле изображение программно. Просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru