на главную Dosugoff
Все то, что вы найдёте здесь,
Однажды встанет Вам удачей!
RuWeb.net - гибкий хостинг
Закажи рекламу на Rambler.ru, Mail.ru, Aport.ru! От 130 руб. за все!


Помощь проекту

Visual Basic

Страница: 1 2 3 4 5 6 7 8 9 10 11
  1. Как в Visual Basic создать графическую кнопку?
  2. Как в Visual Basic создать иконку в трее?
  3. Как в Visual Basic создать многоуровневый каталог?
  4. Как в Visual Basic создать окно произвольной формы?
  5. Как в Visual Basic создать универсальную процедуру обработки массивов?
  6. Как в Visual Basic сохранить значение переменных?
  7. Как в Visual Basic сохранить параметры программы?
  8. Как в Visual Basic сохранить текущее значение индекса списка?
  9. Как в Visual Basic спрятать и показать курсор мыши?
  10. Как в Visual Basic спрятать кнопку Закрыть?
Как в Visual Basic создать графическую кнопку?

Создайте на форме 3 элемента Image:
img1 - обрабатываемая картинка
img2 - обычное изображение
img3 - изображение когда нажата

Private Sub Form_Load()
img1.Picture = img2.Picture
End Sub

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
img1.Picture = img3.Picture
SendKeys "A" 'чтобы побароть западание
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
img1.Picture = img2.Picture
End Sub
Как в Visual Basic создать иконку в трее?

В этом примере показано, Как в Visual Basic можно использовать иконку в трее

Private Sub butAdd()
cTray.hwnd = hwnd
cTray.Icon = Icon
cTray.ToolTipText = "Комментарий"
cTray.Add
End Sub

Private Sub Form_Load()
Set cTray = New TrayIcon
butAdd
End Sub

Private Sub Form_Unload(Cancel As Integer)
cTray.Delete
Set cTray = Nothing
End Sub

Private Sub butModify(ByVal Txt As String)
cTray.ToolTipText = Txt
cTray.Modify
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
cTray.CallEvent X, Y
End Sub

Private Sub cTray_OnIcon(MouseButton As Integer)
If MouseButton = cTray_MOUSE_LEFTDOWN Then ' если щелкнули левой кнопкой
If MouseButton = cTray_MOUSE_LEFTDBLCLICK Then ' если дважды щелкнули левой кнопкой
If MouseButton = cTray_MOUSE_RIGHTUP Then ' если щелкнули правой кнопкой
End Sub

Следующий код необходимо добавить в модуль класса

Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Const NIF_MESSAGE = &H1
Const NIF_ICON = &H2
Const NIF_TIP = &H4
Const NIM_ADD = &H0
Const NIM_MODIFY = &H1
Const NIM_DELETE = &H2
Const WM_RBUTTONDOWN = &H204
Const WM_NULL = &H0

Private Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Private NID As NOTIFYICONDATA
Private m_hWnd As Long
Private m_Icon As Long
Private m_ToolTipText As String

Public Enum TrayIcon_Mouse
TRAYICON_MOUSE_NONE = 0
TRAYICON_MOUSE_LEFTDOWN = 1
TRAYICON_MOUSE_LEFTUP = 2
TRAYICON_MOUSE_LEFTDBLCLICK = 3
TRAYICON_MOUSE_RIGHTDOWN = 4
TRAYICON_MOUSE_RIGHTUP = 5
TRAYICON_MOUSE_RIGHTDBLCLICK = 6
End Enum

Public Event OnIcon(MouseButton As Integer)

Public Property Get hwnd() As Long
hwnd = m_hWnd
End Property

Public Property Let hwnd(ByVal NewValue As Long)
m_hWnd = NewValue
End Property

Public Property Get Icon() As Long
Icon = m_Icon
End Property

Public Property Let Icon(ByVal NewValue As Long)
m_Icon = NewValue
End Property

Public Property Get ToolTipText() As String
ToolTipText = m_ToolTipText
End Property

Public Property Let ToolTipText(ByVal NewValue As String)
m_ToolTipText = NewValue
End Property

Public Sub Add()
Dim ret As Long
NID.uID = m_hWnd
NID.hwnd = m_hWnd
NID.hIcon = m_Icon
NID.szTip = Left$(m_ToolTipText, 63) & Chr$(0)
NID.uFlags = NIF_TIP + NIF_MESSAGE + NIF_ICON
NID.uCallbackMessage = WM_RBUTTONDOWN
NID.cbSize = Len(NID)
ret = Shell_NotifyIcon(NIM_ADD, NID)
End Sub

Public Sub Modify()
Dim ret As Long
NID.hIcon = m_Icon
NID.szTip = Left$(m_ToolTipText, 63) & Chr$(0)
NID.uFlags = NIF_TIP + NIF_ICON
NID.cbSize = Len(NID)
ret = Shell_NotifyIcon(NIM_MODIFY, NID)
End Sub

Public Sub Delete()
Dim ret As Long
NID.cbSize = Len(NID)
ret = Shell_NotifyIcon(NIM_DELETE, NID)
End Sub

Public Sub CallEvent(X As Single, Y As Single)
Dim MouseButton As Integer

If Y Then Exit Sub
MouseButton = (X And &HFF) / Screen.TwipsPerPixelX
RaiseEvent OnIcon(MouseButton)
End Sub

Public Sub CallPopupMenu(Window As Form, PopMenu As Menu, Optional Flags, Optional X, Optional Y, Optional DefMenu)
SetForegroundWindow m_hWnd
Window.PopupMenu PopMenu, Flags, X, Y, DefMenu
PostMessage m_hWnd, WM_NULL, 0, 0
End Sub
Как в Visual Basic создать многоуровневый каталог?
Private Sub CreateLongDir(sDir As String)
Dim sBuild As String, sDirTmp As String, i As Integer
sDirTmp = sDir & "\"
i = InStr (sDirTmp, ":")
If i > 0 Then
sBuild = Left$(sDirTmp, i)
sDirTmp = Mid$(sDirTmp, i + 1)
Else
sBuild = ""
End If
Do
i = InStr (2, sDirTmp, "\")
If i = 0 Then Exit Do
sBuild = sBuild & Left$(sDir, i - 1)
sDirTmp = Mid$(sDirTmp, i)
If Dir$(sBuild, 16) = "" Then
MkDir sBuild
End If
Loop
End Sub
Как в Visual Basic создать окно произвольной формы?
Private Declare Function SelectClipPath Lib "gdi32" (ByVal hdc As Long, ByVal iMode As Long) As Long
Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private Const RGN_COPY = 5

Private Sub Form_Load()
Const TXT = " Cool programm" & vbCrLf & " from" & vbCrLf & "Cool Company" & vbCrLf & "CopyLeft by Ark"
Dim hRgn As Long
'в данном примере форму окна будет определять надпись
Font.Name = "Times New Roman"
Font.Bold = True
Font.Size = 60
Width = TextWidth(TXT)
Height = TextHeight(TXT)
BeginPath hdc
CurrentX = 0
CurrentY = 0
Print TXT
' Здесь вместо текста можно рисовать фигуры
EndPath hdc
hRgn = PathToRegion(hdc)
SetWindowRgn hWnd, hRgn, False

' Hачинаем фантазировать с формой. Можно так
'Picture = LoadPicture("c:\windows\облака.bmp")
' А можно так
'dclr = 256 / (TextHeight(TXT) / 30)
'clr = 0
'For i = 120 To 120 + TextHeight(TXT) Step 30
' Line (0, i)-Step(5000, 0), RGB(0, 0, clr)
' clr = clr + dclr
'Next i
' Можно дать форме градиентную заливку и т.д.
' Двигаем к центру, а можно в таймере крутить
'Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
End Sub
Как в Visual Basic создать универсальную процедуру обработки массивов?

В данном примере процедуре Crypt можно передавать для обработки линейны массив любого типа и размерности

Public Sub Crypt(Mas as Variant)
Dim i as Integer
For i = UBound(Mas) to LBound(Mas)
Mas(i) = Mas(i) + 1
Next
End Sub
Как в Visual Basic сохранить значение переменных?

Чтобы значение переменной сохранялось при выхде их процедуры, в разделе описания переменных введеите:

Static Str as String
Как в Visual Basic сохранить параметры программы?

Для того чтобы сохранить параметры программы можно воспользоваться процедурой SaveSetting и функцией GetSetting. Рассмотрим пример сохранения статуса окна программы.

SaveSetting App.Title, "Setting", "Key", WindowState

Здесь App.Title - имя программы, строка Setting может быть любой она обозначает что-то вроде раздела, Key - ключ указывающий на запись, чтото вроде переменной WindowState - это свойсво формы, вообще здесь может находиться лубое свойство, константа, переменная.

Для того чтобы прочитать эти данные используем функцию GetSetting

WindowState = GetSetting(App.Title, "Setting", "Key", "Default")

Для одного параметра поля Setting и Key должны быть одинаковыми. Параметр Default нужен в слуе если запрашиваемых данные еще не существует (при первом старте) и в таком случае он будет присвоен переменной (в нашем случае свойству WindowState) по умолчанию.

Как в Visual Basic сохранить текущее значение индекса списка?
Private Sub List1_LostFocus()
List1.Tag = Format$(List1.ListIndex)
End Sub

Private Sub List1_GotFocus()
If List1.Tag <> "" Then List1.ListIndex = Cint(List1.Tag)
End Sub
Как в Visual Basic спрятать и показать курсор мыши?
Public Declare Function ShowCursor Lib "user32.dll" (ByVal bShow As Long) As Long

X = ShowCursor(False) ' убрать курсор
X = ShowCursor(True) ' показать курсор
Как в Visual Basic спрятать кнопку Закрыть?

В окне Property (Свойства) формы установить значение False свойству ControlBox.

Страница: 1 2 3 4 5 6 7 8 9 10 11
Система авторегистрации в каталогах, статьи про раскрутку сайтов, web дизайн, flash, photoshop, хостинг, рассылки; форум, баннерная сеть, каталог сайтов, услуги продвижения и рекламы сайтов
Dosugoff2008.narod.ru Огромное спасибо всем кто, так или иначе, участвовал в создании этой коллекции
Hosted by uCoz