Microsoft Excel:

  Таблицы и VBA. Справочник.
  Вопросы и Ответы. Советы. Примеры.
Меню Заметки | Рисование на UserForm с помощью контрола inkPicture


Rambler's Top100


Counter CO.KZ
Если Вам необходимо написать некий текст и/или нарисовать какой-нибудь простенький рисунок, причём это необходимо проделать не в графическом редакторе Paint, а именно на пользовательской форме - UserForm (см. последний скриншот), то при наличии на компьютере Microsoft Tablet PC



Вполне можно обойтись и без программирования. Т.е. достаточно расположить на UserForm следуюий элемент управления Microsoft inkPicture Control



и можно начать творить. Сам же процесс рисования, собственно, происходит также, как и в Paint.








Если же стандартная толщина и/или цвет чернил Вас не устроют, то Вы можете изменить их программно, например, так :
Private Sub UserForm_Initialize()
    InkPicture1.DefaultDrawingAttributes.Width = 100
    InkPicture1.DefaultDrawingAttributes.Height = 100
    InkPicture1.DefaultDrawingAttributes.Color = vbRed
End Sub
или, чтобы уменьшить количество обращений к об'екту, так :
Private Sub UserForm_Initialize()
    With InkPicture1.DefaultDrawingAttributes
         .Width = 100: .Height = 100
         .Color = RGB(255, 0, 0) 'vbRed
    End With
End Sub
Разумеется, указанная толщина и цвет использованы только в качестве примера и могут быть заменены на более подходящие.

И на всякий случай, приведу пример программного создания вышеупомянутого контрола. Пользовательская форма должна уже существовать.
Private Sub UserForm_Initialize()
    With Me.Controls.Add("msinkaut.InkPicture") '"msinkaut.InkPicture.1"
         '.Left = 0: .Top = 0
         .Height = Me.Height
         .Width = Me.Width
    End With
End Sub





Автор : Климов Павел Юрьевич
© 2004-2018 Климов П.Ю. Все права защищены. WebDesign & Error's Klimoff