На
главной странице:
Scanner
– описание программы и основных её возможностей.
Закачка
– загрузка инсталлятора программы, библиотек.
|
На
других страницах
|
|
Советы,
касающиеся создания “кривых” форм
|
При создании
кнопочек и т.д. вместо PictureBoxes применяйте, где это возможно,
Image, т.к. Image требует гораздо меньше памяти.
Не создавайте
слишком сложные формы, если у пользователя не Pentium II/III,
то при перемещении формы создаются "следы". Используйте DoEvents
в процедурах создания форм, для того, что бы процессор успел прорисовать
всё как следует, и вообще при создании "крутого" интерфейса, его
лучше сначала нарисовать на форме, а уж потом ее (форму) показывать
пользователю.
При создании
своих форм, как правило, теряется заголовок окна, для перемещения
формы мышью за "любое место" может помочь следующий код:
Public
ix As Integer
Public iy As Integer
Private Sub Form_MouseDown(Button
As Integer, Shift As
Integer, X As Single, Y
As Single)
'запихиваем текущие координаты курсора,
они пригодятся для позиционирования формы 'относительно курсора
во время перемещения
x1 = X
y1
= Y
End Sub
Private Sub Form_MouseMove(Button
As Integer, Shift As Integer,
X As Single, Y As
Single)
If Button = 1 Then
' если перемещают мышь с нажатой левой
клавишей
' передвигаем форму
Move Left + X - ix, Top + Y - iy
End If
End Sub
Иногда надо
чтобы форма была "выше всех". Для этого можно использовать функцию
Api SetWindowPos:
'В
модуль
Public Declare Function SetWindowPos
Lib "user32" (ByVal hwnd As Long, _ ByVal
hWndInsertAfter As Long, ByVal
X As Long, ByVal Y As Long, ByVal
_ cx As Long,ByVal cy As Long, ByVal
wFlags As Long) As Long
Public Const HWND_NOTOPMOST = -2
Public
Const
HWND_TOPMOST = -1
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Sub SetFormPos(frmHwnd As
Long, TopPos As Boolean)
If TopPos Then
SetWindowPos frmHandl, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE
OR SWP_NOSIZE OR
SWP_NOMOVE
Else
SetWindowPos frmHandl, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE
OR SWP_NOMOVE
End If
End Sub
'пример
вызова функции из формы
SetFormPos Me.hwnd, True
|
|