Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер формы / 11 сообщений из 11, страница 1 из 1
29.01.2007, 22:26
    #34291245
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Подскажите пожалуйста как сделать форму произвольных размеров т.е., на форму наносятся контролы рисуются линии но они (контролы и линии) выходят далеко за пределы формы, не все конечно, только те которые выходят за пределы масштаба ("не хватает разрешения экрана" я делаю типа карты чтоб можно было как бы прокручивать форму ввех-вниз при этом отсчет пикселов идет из центра экрана не пойму как сделать это, а контролы и линии надо нанести сразу при загрузке формы, хм... или поэкранно).
...
Рейтинг: 0 / 0
30.01.2007, 11:49
    #34292107
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
больше чем экран врядли получиться

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

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
30.01.2007, 12:08
    #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
30.01.2007, 12:11
    #34292217
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
забей на Drag_Drop

используй Mouse_Move

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

1) определи размер Frame
2) центрируй, например.
3) размер за пределами формы: Form.ScaleWidth-Frame.Width (это без бордеров)
...
Рейтинг: 0 / 0
30.01.2007, 13:22
    #34292571
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Спасибо, буду разбираться.
...
Рейтинг: 0 / 0
30.01.2007, 14:11
    #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
30.01.2007, 16:01
    #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
30.01.2007, 16:28
    #34293541
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Спасибо большое, это то что нужно, я чето с арифметикой запарился
...
Рейтинг: 0 / 0
01.02.2007, 21:42
    #34300506
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Подскажите ещё, пожалуйста. Сделал всё это на основе Frame на frame наношу Label, но когда начинаю двигать frame те labelы которые были на границе экрана начинают растягиваться пока не отпустишь мыша, как спарвиться?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер формы / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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