|
![]() |
|
||||
|
|
> НАЗАД <
VB Примеры
Модули:
1. Простой пример - как записать звук с микрофона
Точность такого измерения - во много раз выше точности обычного таймера . Впрочем это не таймер . Но на его основе можно наворотить....
5. Как вычислить факториал числа: n! = 1 * 2 * 3 * .... * n - реализация програмно:
Function Factorial(N as long ) as long If n > 1 Then 'Проверяем не дошли ли мы до конца нашей рекурсии Factorial = n * Factorial(n - 1) Else 'Последний элемент рекурси Factorial = n End If End
function
6. Как спрятать "Таскбар" (эта та самая полосочка внизу экрана, куда минимизируются окна)
Private
Declare Function FindWindow Lib "user32" _ 'и никаких Public деклараций внутри формы! Если функции 'обьявлены в модуле, то там можно делать их Public
Private Const WM_SHOWWINDOW = &H18 Dim hWndTaskbar As Long Dim bShow As Boolean
Private Sub Form_Click() Dim r As Long Dim i As Integer i = 0 bShow = Not bShow r = SendMessage(hWndTaskbar, WM_SHOWWINDOW, bShow, i) End Sub
Private Sub Form_Load() bShow = True hWndTaskbar = FindWindow("shell_trayWnd", "") End Sub
7. Как узнать размеры Таскбара:
Dim mLeft As Single Dim mTop As Single Dim mWidth As Single Dim mHeight As Single
Private Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String,_ ByVal lpWindowName As String) As Long Private Declare Function GetWindowRect Lib "user32" _ (ByVal hwnd As Long, lprect As RECT) As Long
Public Sub GetTascbarInfo() Dim precTaskbar As RECT Dim plngResult As Long Dim phWndTaskbar As Long
phWndTaskbar = FindWindow("shell_trayWnd", "") plngResult = GetWindowRect(phWndTaskbar, precTaskbar) mLeft = precTaskbar.L * Screen.TwipsPerPixelX mTop = precTaskbar.T * Screen.TwipsPerPixelY mWidth = (precTaskbar.R - precTaskbar.L) * Screen.TwipsPerPixelX mHeight = (precTaskbar.B - precTaskbar.T) * Screen.TwipsPerPixelY Print mLeft, mTop, mHeight End Sub
Private Sub Form_DblClick() GetTascbarInfo End Sub
8.
Как
минимизировть все открытые окна, или
восстановить их обратно: Private Const WM_COMMAND = &H111 "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
9.
Очень часто задаваемый вопрос: приложение
не выгружается из памяти. Такой
же частый ответ - что-то из обьектов не
выгружено. Если вы используете DAO для
доступа к базе данных, то вам не повредит
такой код:
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Dim ws As Workspace
Dim db As Database
Dim rs As Recordset
For Each ws In Workspaces
For Each db In ws.Databases
For Each rs In db.Recordsets
rs.Close
Set rs = Nothing
Next
db.Close
Set db = Nothing
Next
ws.Close
Set ws = Nothing
Next
'
End Sub
10. Как
отловить нажатие TAB? Private Declare Function GetKeyState% Lib "User32" (ByVal nVirtKey%)
Private Sub Text1_LostFocus()
If GetKeyState(vbKeyTab) < 0 Then
Text1.SetFocus
MsgBox "Tab Нажали!"
End If
End Sub
Продолжение следует ... > НАЗАД <
|
|||||
|---|---|---|---|---|---|---|