Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Рисовать в UserForm. Возможно ли? / 3 сообщений из 3, страница 1 из 1
29.08.2009, 22:32:51
    #36169320
Dan-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рисовать в UserForm. Возможно ли?
Встала проблема - в ходе разработки маленькой прикладной программы.
На форме вводится ширина, высота прямоугольника. Нужно сразу отображать рисунок данного прямоугольника в пропорции здесь же на форме...

Макросом рисую на отдельном листе прямоугольник , скидываю изображение в виде GIF-файла c заданным именем. На данный файл есть ссылка в PictureBox на форме...

А чего-нибудь попроще в VBA можно реализовать?
...
Рейтинг: 0 / 0
29.08.2009, 23:38:26
    #36169356
Aster32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рисовать в UserForm. Возможно ли?
Когда-то в одной из программ на VB 6.0 нужна была отрисовка полигонов на форме по координатам углов.
Использовался следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Public Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, _
lpPoint As POINTAPI, ByVal nCount As Long) As Long
Public Type POINTAPI: X As Long: Y As Long: End Type
Sub Polygons(N As Long, coordX() As Double, coordY() As Double, _
bCol As Double, fCol As Double, calledPict As PictureBox)
Dim iCount As Integer
Dim Angles() As POINTAPI
ReDim Angles(N)
For iCount =  0  To N -  1 
Angles(iCount).X = CLng(coordX(iCount))
Angles(iCount).Y = CLng(coordY(iCount))
Next iCount
Angles(N).X = CLng(coordX( 0 ))
Angles(N).Y = CLng(coordY( 0 ))
calledPict.ForeColor = bCol
calledPict.FillColor = fCol
calledPict.FillStyle =  0 
Call Polygon(calledPict.hdc, Angles( 0 ), N)
End Sub
В случае прямоугольника N - постоянно и равно 5 (совпадающие начальная и конечная точка полигона учитывается дважды). Расчет координат углов прямоугольника - задача тривиальная.
Не могу сказать, будет ли код работать в VBA. Используется Windows API.
...
Рейтинг: 0 / 0
30.08.2009, 02:13:06
    #36169394
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рисовать в UserForm. Возможно ли?
Dan-K,
какой такой PictureBox в VBA?

Можно, конечно, в памяти битмап или метафайл рисовать, засовывать его в StdPicture, а её в Image, но если это просто прямоугольник, можно просто свойствами Image получить, не так ли?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Рисовать в UserForm. Возможно ли? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]