powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер формы
11 сообщений из 11, страница 1 из 1
Размер формы
    #34291245
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста как сделать форму произвольных размеров т.е., на форму наносятся контролы рисуются линии но они (контролы и линии) выходят далеко за пределы формы, не все конечно, только те которые выходят за пределы масштаба ("не хватает разрешения экрана" я делаю типа карты чтоб можно было как бы прокручивать форму ввех-вниз при этом отсчет пикселов идет из центра экрана не пойму как сделать это, а контролы и линии надо нанести сразу при загрузке формы, хм... или поэкранно).
...
Рейтинг: 0 / 0
Размер формы
    #34292107
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
больше чем экран врядли получиться

создай Frame (PitureBox для Line методов) и мотай его по форме.

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
Размер формы
    #34292205
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мотать Frame это дело, но если frame размером с форму то он не мотается
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Frame1.Move X, Y
End Sub

Private Sub Frame1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Frame1.Drag vbBeginDrag
End Sub

Private Sub Frame1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Frame1.Move X - Frame1.Width, Y - Frame1.Height
End Sub
...
Рейтинг: 0 / 0
Размер формы
    #34292217
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забей на Drag_Drop

используй Mouse_Move

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
Размер формы
    #34292420
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажи, плиз, как мне отследить на сколько "вылазит" за пределы формы frame
...
Рейтинг: 0 / 0
Размер формы
    #34292527
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimподскажи, плиз, как мне отследить на сколько "вылазит" за пределы формы frame

1) определи размер Frame
2) центрируй, например.
3) размер за пределами формы: Form.ScaleWidth-Frame.Width (это без бордеров)
...
Рейтинг: 0 / 0
Размер формы
    #34292571
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, буду разбираться.
...
Рейтинг: 0 / 0
Размер формы
    #34292850
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не пойму никак, как сделать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Load()
Frame1.Top = Form1.ScaleHeight /  2  - Frame1.Height /  2 
Frame1.Left = Form1.ScaleWidth /  2  - Frame1.Width /  2 
End Sub

Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button =  1  Then
Frame1.Left = Frame1.Left + X /  10 
Frame1.Top = Frame1.Top + Y /  10 
End If
End Sub
сделал так, но чёто не то получается, как бы разрулить
...
Рейтинг: 0 / 0
Размер формы
    #34293418
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Option Explicit

Dim XX As Single, YY As Single, Down As Boolean

Private Sub Form_Load()
  pic.Picture = LoadPicture("D:\f\Daily\2007_01_27\waqlls\aaa.jpg")
  
  pic.Left = (Me.ScaleWidth - pic.Height) /  2 
  pic.Top = (Me.ScaleHeight - pic.Height) /  2 
End Sub

Private Sub pic_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Down = True
  XX = X
  YY = Y
End Sub

Private Sub pic_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Down Then
    pic.Left = pic.Left + (X - XX)
    pic.Top = pic.Top + (Y - YY)
  End If
End Sub

Private Sub pic_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Down = False
End Sub

короче, понятно

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
Размер формы
    #34293541
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое, это то что нужно, я чето с арифметикой запарился
...
Рейтинг: 0 / 0
Размер формы
    #34300506
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите ещё, пожалуйста. Сделал всё это на основе Frame на frame наношу Label, но когда начинаю двигать frame те labelы которые были на границе экрана начинают растягиваться пока не отпустишь мыша, как спарвиться?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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