Страница: 1 |
Страница: 1 |
Вопрос: возможность пользователям изменять размеры элемент
Добавлено: 15.03.06 18:01
Автор вопроса: Роман
Как дать возможность пользователям изменять размеры элементов управления VB .net? помогите нигде нет?
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #1
Добавлено: 15.03.06 19:12
Звиняюсь за оффтоп, но вопрос неясен. "Помогите" есть практически в каждом топике на форуме.
Номер ответа: 2
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #2
Добавлено: 15.03.06 21:06
Надо к нему домой прийти и показать
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 16.03.06 04:59
Вопрос вполне ясен - нужно сделать аналог редактора форм. Мне известен только способ вручную, перехватывать нажатия мыши и согласно последующим ее перемещениям изменять размер элемента управления, по границе которого кликнули
Номер ответа: 4
Автор ответа:
Роман
Вопросов: 7
Ответов: 6
Профиль | | #4
Добавлено: 16.03.06 18:35
код для изменения размера текстбокса
Private Declare Function ReleaseCapture Lib "user32" () As Integer
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As AnchorStyles) As Integer
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTRIGHT As Short = 17
Private Sub textbox1_MouseDown(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
 im Button As Short = eventArgs.Button \ &H100000
 im Shift As Short = System.Windows.Forms.Control.ModifierKeys \ &H10000
 im X As Single = VB6.PixelsToTwipsX(eventArgs.X)
 im Y As Single = VB6.PixelsToTwipsY(eventArgs.Y)
 im nParam As Integer
With TextBox1
If (X > VB6.PixelsToTwipsX(TextBox1.Width) - 90 And X < VB6.PixelsToTwipsX(TextBox1.Width)) Or (Y > VB6.PixelsToTwipsX(TextBox1.Height) - 90 And Y < VB6.PixelsToTwipsX(TextBox1.Height)) Then
nParam = HTRIGHT
End If
If nParam Then
Call ReleaseCapture()
Call SendMessage(.Handle.ToInt32, WM_NCLBUTTONDOWN, nParam, 0)
End If
End With
End Sub
Private Sub TextBox1_MouseMove(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove
 im X As Single = VB6.PixelsToTwipsX(EventArgs.X)
 im Y As Single = VB6.PixelsToTwipsY(EventArgs.Y)
 im nParam As Integer
If (X > VB6.PixelsToTwipsX(TextBox1.Width) - 90 And X < VB6.PixelsToTwipsX(TextBox1.Width)) Or (Y > VB6.PixelsToTwipsX(TextBox1.Height) - 90 And Y < VB6.PixelsToTwipsX(TextBox1.Height)) Then
TextBox1.Cursor = Cursors.SizeNWSE
Else
TextBox1.Cursor = Cursors.IBeam
End If
End Sub