← Июнь 2002 → | ||||||
1
|
2
|
|||||
---|---|---|---|---|---|---|
4
|
5
|
6
|
8
|
9
|
||
11
|
12
|
13
|
14
|
15
|
16
|
|
19
|
20
|
22
|
23
|
|||
25
|
26
|
27
|
29
|
30
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://vbnet.ru
Открыта:
31-07-2001
Статистика
0 за неделю
Visual Basic: новости сайтов, советы, примеры кодов. Выпуск 67.
Информационный Канал Subscribe.Ru |
Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 67.
VBNet
VBMania
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Нет тем. Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск...
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Минимизировать все окна Положите на форму 1 CommandButton Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Const VK_LWIN = &H5B Const KEYEVENTF_KEYUP = &H2 Private Sub Command1_Click() Call keybd_event(VK_LWIN, 0, 0, 0) Call keybd_event(&H4D, 0, 0, 0) Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0) End Sub наверх Примеры по работе с хранителем экрана Данный пример покажет, как можно определить "Загружен ли в данный момент хранитель экрана", а также запустить хранитель экрана. Данный пример еще можно дополнить ответом на вопрос "А как программно отключить хранитель экрана?". Я пока ответа не знаю. Если вы знаете ответ, напишите мне Расположите на форме 3 элемента CommandButton, элемент Timer. Нажмите на кнопку 2. Через несколько секунд
запустится хранитель экрана. Через 6 секунд
пошевелите мышкой, хранитель экрана закроется. И
вы увидите на форме MsgBox с сообщением,
была загружена заставка. При нажатии на кнопку 3
вы получите время, через которое запускается
хранитель экрана.
Получение сведений о зарегистрированных типах файлов в системе Данный пример позволяет узнать о всех зарегистрированных типов файлов в системе, а также получить рисунок иконки, присущий данному типу файлов Расположите на форме элемент ListBox и
элемент PictureBox. Для более наглядного
отображения информации установите свойство .Sorted
элемента ListBox как True.
Получение списка расширений, зарегистрированных в системе файлов Данный пример выведет в ваш ComboBox список всех расширений файлов, зарегистрированных в системе Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long Function GetAllExts() As Variant Dim lRegResult As Long Dim lCounter As Long Dim hCurKey As Long Dim strBuffer As String Dim lDataBufferSize As Long Dim intZeroPos As Integer lCounter = 0 lRegResult = RegOpenKey(&H80000000, "", hCurKey) Do lDataBufferSize = 255 strBuffer = String(lDataBufferSize, " ") lRegResult = RegEnumKey(hCurKey, lCounter, strBuffer, lDataBufferSize) If lRegResult = 0& Then intZeroPos = InStr(strBuffer, Chr$(0)) If Left(strBuffer, 1) = "." Then Form1.Combo1.AddItem LCase(Right(strBuffer, Len(strBuffer) - 1)) End If lCounter = lCounter + 1 Else Exit Do End If Loop End Function Private Sub Form_Load() GetAllExts End Sub наверх Получить описание любого файла: exe, dll или… или любого файла, если, конечно, вы сможете получить описание. Тестирование данного примера я провел на нескольких exe-файлах, некоторых системных библиотеках и даже обычных текстовых файлах. Для простоты проверки примера добавьте на форму элемент TextBox и элемент CommandButton. Естественно, в текстовое окно вы должны вставлять полный путь к проверяемому файлу. Но вот где хранятся эти описания, осталось для меня загадкой. Поиск в реестре ничего не дал... Вам понадобится дополнительный модуль.
Использование специальной клавиши клавиатуры На многих клавиатурах есть специальная кнопка со значком WINDOWS. Данный пример с помощью API функции эмулирует нажатие на эту клавишу и дополнительную клавишу, вызывая определенную процедуру в системе. В событии Form_Load() показан один пример:
эмулирование нажатие клавиши ПУСК. В качестве
параметра функции Launch вы можете
использовать любую константу из StartMenuItems.
Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: darknez@mail.kz Ответ ожидается по этому адресу Такой код для добавления hotkey: Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long Private Declare Function DefWindowProc Lib "user32" Alias "DefWindowProcA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Const WM_SETHOTKEY = &H32 Private Const WM_SHOWWINDOW = &H18 Private Const HK_SHIFTA = &H141 'Shift + A Private Const HK_SHIFTB = &H142 'Shift + B Private Const HK_CONTROLA = &H241 'Control + A Private Const HK_ALTZ = &H45A Private Sub Form_Load() 'Позволить узнать windows какая горячая клавиша в вашем приложении erg& = SendMessage(Me.hwnd, WM_SETHOTKEY, HK_ALTZ, 0) If erg& <> 1 Then MsgBox "You need another hotkey", vbOKOnly, "Error" 'Сказать windows что делать при нажатии на hotkey 'в данном случае - показать окно программы erg& = DefWindowProc(Me.hwnd, WM_SHOWWINDOW, 0, 0) End Sub Так вот, я прячу программу через form.hide и показываю значок в трее, и этот hotkey не работает. А просто так, когда форма не спрятана, а просто неактивна, то какое сообщение не пиши в DefWindowProc, форма просто становится активной. Объясните, пожалуйста, что здесь можно исправить или подскажите другой способ. Автор вопроса: Миша Ответ ожидается по этому адресу В Delphi есть Qreport есть ли что-то подобное в VB? Автор вопроса: Vlad Lagutin Ответ ожидается по этому адресу Подскажите ,при создании нового проекта, ASP.NET WEBApplication указываю адрес http://localhost/WebApplication1 ,но NET выдает сообщение "Web Access Failed, " вобщем не может создать проект, может кто-то сталкивался с подобным ? Автор вопроса: Винокуров К Ответ ожидается по этому адресу Подскажите, как сделать чтобы на одной вкладке TabStrip была например кнопка, а на другой вкладке TextBox? Автор вопроса: Сергей Ответ ожидается по этому адресу Kак добавить ярлык в деректорию "Создать" в меню Windows. Автор вопроса: Passat Ответ ожидается по этому адресу ПОМОГИТЕ РАЗОБРАТЬСЯ С MSDN !!! У меня Visual Basic 6.0 и при попытке вызвать Справку выдает, что надо типа установить MSDN Library. Долго искал всеми расхваливаемый MSDN на CD-дисках и, наконец, купил Автор вопроса: Саша Ответ ожидается по этому адресу как при помоши BitBlt вставить рисунок не в picture a в image или как в Picture увеличить или уменьшить рисунок. Автор вопроса: Саша Ответ ожидается по этому адресу Как яяделать библеотеку так чтобы я набрав слово например abs. после точки выскочило меню с всеми процедурами и функциями. У меня получается так только когда я делаю Public классу и функции. Но мне не надо что бы это было Public , а только после набратия слова abs. Ответы: Вопрос: В SysTray создал иконку, нужно, чтобы когда я форму сворачиваю, она исчезала с экрана и панели задач, а оставалась лишь иконка в SysTray. А как ??? Ответ: Автор ответа: slavik Form1.ShowInTaskbar=False Вопрос: В SysTray создал иконку, нужно, чтобы когда я форму сворачиваю, она исчезала с экрана и панели задач, а оставалась лишь иконка в SysTray. А как ??? Ответ: Автор ответа: Rafis Это можно сделать отслеживая состояние формы. Ниже описан пример, когда форма сварачивается, то она станоовиться невидимой в Tra-e. вставьте в форму Timer и напишите следующий код: Private Sub Timer1_Timer() Timer1.Interval = 100 If Form1.WindowState = 1 Then Form1.Visible = False End Sub Вопрос: В SysTray создал иконку, нужно, чтобы когда я форму сворачиваю, она исчезала с экрана и панели задач, а оставалась лишь иконка в SysTray. А как ??? Ответ: Автор ответа: shuric Код модуля: Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As dwMess, lpData As NOTIFYICONDATA) As Long Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Public Enum dwMess NIM_ADD = &H0 ' Добавление иконки NIM_DELETE = &H2 ' Удаление иконки NIM_MODIFY = &H1 ' Изменение параметров иконки End Enum Type NOTIFYICONDATA cbSize As Long ' Размер переменной типа NOTIFYICONDATA hwnd As Long ' Указатель окна создающего иконку uID As Long ' Указатель на иконку в пределах приложения uFlags As uF ' Маска для следующих параметров uCallbackMessage As CallMess ' Возвращаемое событие hIcon As Long ' Указатель на изображение для иконки szTip As String * 64 ' Всплывающий над иконкой текст End Type Public Enum uF NIF_MESSAGE = &H1 ' Значение имеет uCallbackMessage NIF_ICON = &H2 ' Значение имеет hIcon NIF_TIP = &H4 ' Значение имеет szTip End Enum Public Enum CallMess WM_MOUSEMOVE = &H200 WM_LBUTTONDOWN = &H201 WM_LBUTTONUP = &H202 WM_LBUTTONDBLCLK = &H203 WM_RBUTTONDOWN = &H204 WM_RBUTTONUP = &H205 WM_RBUTTONDBLCLK = &H206 WM_MBUTTONDOWN = &H207 WM_MBUTTONUP = &H208 WM_MBUTTONDBLCLK = &H209 WM_SETFOCUS = &H7 WM_KEYDOWN = &H100 WM_KEYFIRST = &H100 WM_KEYLAST = &H108 WM_KEYUP = &H101 End Enum Код формы: Необходимо добавить кнопку Dim NID As NOTIFYICONDATA Sub AddIcon() Dim IDLib As Long ' Указатель на библиотеку Dim IDIcon As Long ' Указатель на иконку Const IDMyIcon = 101 ' Идентификатор иконки внутри приложения Dim AddResult As Long ' Результат добавления иконки IDLib = GetModuleHandle("Project1.exe") ' Получаем hInstanse IDIcon = Me.Icon ' Заполняем структуру NID типа NOTIFYICONDATA NID.cbSize = Len(NID) ' Размер структуры NID.hwnd = Form1.hwnd ' Указатель на форму NID.uID = IDMyIcon ' Идентификатор иконки NID.uFlags = NIF_MESSAGE + NIF_ICON + NIF_TIP 'Указываем, что действующими являются поля uCallBackMessage, hIcon и szTip. NID.uCallbackMessage = WM_LBUTTONDOWN ' Указываем, что событием возвращаемым в форму является MouseDown с параметром Button = 2 NID.hIcon = IDIcon ' Указатель на иконку в файле NID.szTip = Left$("MyIcon", 63) & Chr(0) ' Передаем всплывающую фразу "MyIcon", при этом обрезаем ее до 63 символов и добавляем 64-й символ с кодом ноль AddResult = Shell_NotifyIcon(NIM_ADD, NID) ' Вызываем функцию, через параметр dwMessage указываем, что следует добавить иконку, и передаем заполненный NID Me.Visible = False End Sub Sub DeleteIcon() Dim DeletResult As Long DeleteResult = Shell_NotifyIcon(NIM_DELETE, NID) ' Вызываем функцию, через dwMessage указываем, что следует удалить иконку, при этом, раз переменная NID описана на уровне модуля, не следует заполнять ее заново End Sub Private Sub Command1_Click() Call AddIcon End Sub Private Sub Form_Mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single) Static bPressed As Boolean If X = 7695 Then ' SysTray Icon Events Shell_NotifyIcon NIM_DELETE, NID Form1.Visible = True End If End Sub Вопрос: В SysTray создал иконку, нужно, чтобы когда я форму сворачиваю, она исчезала с экрана и панели задач, а оставалась лишь иконка в SysTray. А как ??? Ответ: Автор ответа: СЗШ ?7 Для свойства ShowInTaskbar в форме задай значение False. А если нужно чтобы при старте форма на экране не отображалась то: Private Sub Form_Load() Me.Hide ' и помещаем иконку в SysTray .... End Sub Вопрос: Есть два TextBox. В каждом яаписывается какое-либо время. Например: TextBox1.text = "01:30:25" TextBox2.text = "02:01:30" Как вычислить TextBox2.text - TextBox1.text Может кто сталкивался с таким, подкиньте код пожалуйста. Бывает ли переменная типа Time (не timer) и каким обраяом проияводятся вычисления со временем? Ответ: Автор ответа: Vlad Lagutin Есть 2 способа: 1. конвертировать время в формат datetime (1990.01.01 02.01.30 - 1990.01.01 01.30.25) получишь искомый результат 2. перевод в минуты(секунды если есть сек.) после разницы обратно. например Time1 = "01:30" Time2 = "02:01" time2=(int(time2)*60 + (time2-int(time2) ) - перевод в минуты, time1=(int(time1)*60 + (time1-int(time1) ) result=time2-time1 result=int(result/60)+ (result-int(result/60)*60) /100 Вопрос: Есть два TextBox. В каждом яаписывается какое-либо время. Например: TextBox1.text = "01:30:25" TextBox2.text = "02:01:30" Как вычислить TextBox2.text - TextBox1.text Может кто сталкивался с таким, подкиньте код пожалуйста. Бывает ли переменная типа Time (не timer) и каким обраяом проияводятся вычисления со временем? Ответ: Автор ответа: Rafis Вообще есть в ВБ6.0 функция TimeValue которая преобразовывает строку в формат времени. Вот ниже код который, который вычисляет сколько времени прошло. a="01:00:25" b="20:00:25" c= -TimeValue(b)+TimeValue(a) Msgbox c Внимание!!!! Ни в коем случае в 3 строке не меняйте значенеия TimeValue местами,например, следующий код уже небудет работать c=TimeValue(a) -TimeValue(b) Вопрос: Есть два TextBox. В каждом яаписывается какое-либо время. Например: TextBox1.text = "01:30:25" TextBox2.text = "02:01:30" Как вычислить TextBox2.text - TextBox1.text Может кто сталкивался с таким, подкиньте код пожалуйста. Бывает ли переменная типа Time (не timer) и каким обраяом проияводятся вычисления со временем? Ответ: Автор ответа: Alex Лови примерчик. На форме - две кнопки и текстбокс. Давишь сначала первую, с каким-то интервалом - вторую. В текстбоксе - интервал в секундах. Dim t As Date Private Sub Command1_Click() t = Time End Sub Private Sub Command2_Click() Text1 = Str((Time - t1) / 1000) End Sub Вопрос: В ListBox выбираю строку, в которой прописан путь к картинке, и Image.Picture присваиваю ее значение. Но программа пишет: несоответствие типа. Есть ли другой путь изменения картинки объекта Image? Ответ: Автор ответа: Rafis Просто ты неправильно присваиваешь путь к файлу. Надо не так: Image.Picture=("Путь_к_файлу") а вот так: Image.Picture = LoadPicture("Путь_к_файлу") Вопрос: В ListBox выбираю строку, в которой прописан путь к картинке, и Image.Picture присваиваю ее значение. Но программа пишет: несоответствие типа. Есть ли другой путь изменения картинки объекта Image? Ответ: Автор ответа: Alex Image1.Picture = LoadPicture(<путь к картинке>) End Sub Комментарии нужны? :) Вопрос: Где в Инете можно скачать учебник для начинающего програмиста? Ответ: Автор ответа: slavik Учебник целиком вряд ли, а вот почитать и поизучать исходники можно где угодно. Сходи сюда: http://vbrussian.com/VBR_Sites.asp Вопрос: 1)как можно в одном окне просматривать и каталоги и файлы? Типа Dir и FileBox в одном. И вообще, кто-нибудь знает где можно найти исходники простенького файл-менеджера, а то изобретать велосипед нехота, устал я что-то :-) 2)Как можно просматривать иконки из dll-файлов? Ответ: Автор ответа: Alex FileView X v1.0.0.7 For Visual Basic 6 FolderView X v1.0.0.10 For Visual Basic 6 это почти полный аналог (даже лучше:) виндового эксплорера и браузера, но в кодах (правда, с привлечением ocx их собственной разработки). Если не найдешь где скачать - пиши, я намылю. Они в развернутом состоянии кил по 700. А если ужать... Вопрос: Подскажите код как в VBA на форме поместить ссылку на E-mail или страничку. Ответ: Автор ответа: Игорь Вот ссылки: http://progs.biz/vb/samples/axlink/axlink01.shtml http://progs.biz/vb/samples/axlink/lessons/001.shtml ... http://progs.biz/vb/samples/axlink/lessons/006.shtml Там как раз подробно обсуждается, как написать ActiveX, кооторый будет действовать как гиперссылка. Если же создаветь ActiveX не хочется, то см. http://progs.biz/vb/api/lessons/005.shtml Там о создании гиперссылки с помощью API-функции ShellExecute. Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||