← Апрель 2002 → | ||||||
2
|
3
|
4
|
6
|
7
|
||
---|---|---|---|---|---|---|
9
|
10
|
11
|
13
|
14
|
||
16
|
17
|
18
|
20
|
21
|
||
23
|
24
|
25
|
27
|
28
|
||
30
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://vbnet.ru
Открыта:
31-07-2001
Статистика
0 за неделю
Visual Basic: новости сайтов, советы, примеры кодов. Выпуск 51.
Информационный Канал Subscribe.Ru | - www.lycos.ru |
Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 51.
VBNet
VBMania
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Нет тем. Доска почёта: Sergey Y. Tkachev Кононенко Роман Kirill Sergey Sapozhnikov Sobic Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Скоро праздники!!!
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Различный вид формы Данный пример добавляет почти по границе формы небольшую кайму, определяющую внешний вид формы. Такой вид, как если бы на форме присутствовал
элемент Frame, CommandButton или
нажатый CommandButton.
Где в реестре хранятся все интернет-соединения ключ HKEY_CURRENT_USER\RemoteAccess\Addresses наверх Получить IP адрес Как вы знаете (или не знаете), при вашем подключении к Интернету, вашему компьютеру назначается адрес, по которому вас можно идентифицировать в сети: что-то типа 201.194.10.12. Так вот этот пример и покажет вам ваш текущий адрес. '1 ВАРИАНТ Как программно отсоединиться от Интернета Добавьте на форму элемент CommandButton. При нажатии на кнопку происходит вызов функции HangUp, которая закрывает соединение с Интернетом. Const RAS_MAXENTRYNAME As Integer = 256 Const RAS_MAXDEVICETYPE As Integer = 16 Const RAS_MAXDEVICENAME As Integer = 128 Const RAS_RASCONNSIZE As Integer = 412 Const ERROR_SUCCESS = 0& Private Type RasEntryName dwSize As Long szEntryName(RAS_MAXENTRYNAME) As Byte End Type Private Type RasConn dwSize As Long hRasConn As Long szEntryName(RAS_MAXENTRYNAME) As Byte szDeviceType(RAS_MAXDEVICETYPE) As Byte szDeviceName(RAS_MAXDEVICENAME) As Byte End Type Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As Long Private Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long Private gstrISPName As String Public ReturnCode As Long Public Sub HangUp() Public Function ByteToString(bytString() As Byte) As String Private Sub Command1_Click() Напечатать Web-страницу Требуется Интернет Эксплорер версии 4 и выше. Перед началом печати будет показан диалог печати. Добавьте элемент CommandButton. Private Const MAX_PATH = 255 Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Public Function PrintWebPage(ByVal URL As String) As Boolean Dim sFile As String sFile = SystemDir & "\MSHTML.DLL" If Dir(sFile) = "" Then Exit Function On Error Resume Next Shell "rundll32.exe " & sFile & ",PrintHTML " & URL, vbNormalFocus PrintWebPage = Err.Number = 0 End Function Private Function SystemDir() As String Dim sRet As String, lngRet As Long sRet = String$(MAX_PATH, 0) lngRet = GetSystemDirectory(sRet, MAX_PATH) SystemDir = Left(sRet, lngRet) End Function Private Sub Command1_Click() PrintWebPage "http://vbnet.ru" End Sub наверх Вызвать окно "Установка связи с Интернетом" Данный код вызывает окно "Установка связи" из "Удаленный доступ к сети". Естественно, вы должны знать имя текущего соединения с интернетом. Private Sub Form_Load() Result = Shell("rundll32.exe rnaui.DLL,RnaDial " & "connection_name", 1) End Sub наверх Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: EUgene Ответ ожидается по этому адресу Скажите пожалуйста, могу ли я через VB - узнать: дату и время создания файла COMMAND.COM, если да- то как? Автор вопроса: Вано Ответ ожидается по этому адресу Даны два двумерных массива. После ввода первого массива, должен отображаться другой, но с условием что строки и столбцы этого массива будут перевернуты, т.е. первый элемент массива один должен стать последним элементом второго массива. И так со всеми элементами. Автор вопроса: CyRax Ответ ожидается по этому адресу Какие функции VB(встроенные или API) можно использовать для работы с памятью? Автор вопроса: Sensey Ответ ожидается по этому адресу У кого имеется туторы и справки по VB и 3D MAX можете закидать мой почтовый ящик Автор вопроса: alex Ответ ожидается по этому адресу Пример: Private Sub cmdSave_KeyPress(KeyAscii As Integer) If ((KeyAscii = vbKeyReturn) Or (KeyAscii = vbKeyTab)) Then Saving End If End Sub Вопрос: почему-то такой код нормально реагирует на Автор вопроса: Alexandr Ответ ожидается по этому адресу Как программно перетащить ярлык файла в RichTextBox ? Обращаюсь к янатокам Visual Basic. Элементарная на первый вягляд яадача. Требуется программно сформировать в RichTextBox текст, содержащий таблицу в смысле MS Word. Делаю так. sFileRTF=App.Path & "\tmp.rtf" Set wrd = New Word.Application Set objDoc = New Word.Document With objDoc.ActiveWindow.Selection .TypeText rsI.Fields("titul") .TypeText rsI.Fields("adres") .TypeText "" ' и т.д. Set objTable = ActiveDocument.Tables.Add(Range:=Selection.Range, _ NumRows:=1, NumColumns:=4) End With objDoc.SaveAs sFileRTF, FileFormat:=wdFormatRTF Me.RichTextBox1.LoadFile sFileRTF, rtfRTF А табличек на экране нету, только голый текст. Хотя, если открыть в MS Word файл tmp.rtf, то там все в порядке, таблички на месте. Теперь делаем такой фокус. Открываем Проводник. Хватаем "мышкой" ярлык файла "tmp.rtf" и тащим его на RichTextBox. Все садится прекрасно. Вопрос: как это перетаскивание сделать программно вместо LoadFile ? Скорее всего должна быть API-функция такая. Поиски методом тыка не увенчались успехом. Кто-нибудь сталкивался с этой яадачей ? Автор вопроса: Белоусов Артем Ответ ожидается по этому адресу Подскажите пожалуйста как в CommonDialog настроить фильтр на расширение tst. Автор вопроса: Николай Ответ ожидается по этому адресу Подскажите пожалуйсто как в проекте вместо стандартной бейсиковской иконки поставить свою. Автор вопроса: Василий Ответ ожидается по этому адресу Подскажите как в VBA прописать winsock ! Автор вопроса: Vladimir Ответ ожидается по этому адресу Как в Visual Basic открывается форма для выбора каталогов, можно ли при помощи Win_API? Автор вопроса: FAS Ответ ожидается по этому адресу Подскажите, пожалуйста, как можно узнать: 1) Объем заданного диска; 2) Сколько места свободно; 3) Сколько места занято. Автор вопроса: sapient Ответ ожидается по этому адресу Народ, вы случаем не в курсе, нет ли в Excel-ном VB встроенной функции, для конвертания адреса ячйки из формата R1C1 (R26C27) в A1 (AA26)??? Автор вопроса: Владимир Б. Ответ ожидается по этому адресу Необходимо подключить БД Paradox, стандартными способами не могу подключить,говорит что БД не того формата.Может кто-то подскажет как это сделать. Ответы: Вопрос: У меня у формы Borderstyle="0," как мне программно поменять его на 1 или 2, если написать просто form1.borderstyle="1," то ничего не происходит. Ответ: Автор ответа: Алексей Каленов Этот небольшой пример показывает как можно на лету менять структуру окна (внешний вид и не только). Создайте форму (Form1), поместите на неё пять кнопок (Command1, Command2, Command3, Command4, Command5) и данный код. Вся информация взята из книги "Win32 и Visual BASIC. Для профессионалов(+CD)". Автор Dan Appleman's. Большая благодарность автору!!! Цена книге соответствует. В коде есть только одна проблема. После использования функции SetWindowLong окно меняет свои свойства, но не перерисовывается. Для этого я использовал изменения размеров окна. Наверное можно использовать что-нибудь попроще с использованием SendMessage или как нибудь еще. Option Explicit Dim tmplong As Long Dim tmplong1 As Long ' Основные параметры окна Const WS_OVERLAPPED& = &H0& ' при создании - окно с рамкой и заголовком, в работе - ошибка защиты Windows Const WS_MAXIMIZEBOX& = &H10000 ' для окна - наличие кнопки минимизировать Const WS_TABSTOP& = &H10000 ' для других элементов - закрепление позиции табуляции Const WS_MINIMIZEBOX& = &H20000 ' для окна - наличие кнопки свернуть Const WS_GROUP& = &H20000 ' для остального - является началом группы элементов Const WS_THICKFRAME& = &H40000 ' для окна - размеры окна меняются за толстую рамку Const WS_SYSMENU& = &H80000 ' в левой части окна есть кнопка системного меню Const WS_HSCROLL& = &H100000 ' в окне есть горизонтальная полоса прокрутки Const WS_VSCROLL& = &H200000 ' в окне есть вертикальная полоса прокрутки Const WS_DLGFRAME& = &H400000 ' окно с двойной рамкой но нет заголовка Const WS_BORDER& = &H800000 ' окно с рамкой Const WS_CAPTION& = &HC00000 ' окно с рамкой и заголовком Const WS_MAXIMIZE& = &H1000000 ' окно развернуто Const WS_CLIPCHILDREN& = &H2000000 ' в окне нельзя рисовать поверх других элементов (аналог свойства ClipControls) Const WS_CLIPSIBLINGS& = &H4000000 ' запрещает дочернему окну рисовать поверх другого дочернего окна Const WS_DISABLED& = &H8000000 ' окно заблокировано (аналог Enable = False) Const WS_VISIBLE& = &H10000000 ' окно является видимым (аналог Visible = True) Const WS_MINIMIZE& = &H20000000 ' окно свернуто Const WS_CHILD& = &H40000000 ' окно является дочерним (надо установить после SetPatent) Const WS_CHILDWINDOW& = (WS_CHILD) ' Const WS_POPUP& = &H80000000 ' окно является всплывающим Const WS_OVERLAPPEDWINDOW& = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX) Const WS_POPUPWINDOW& = (WS_POPUP Or WS_BORDER Or WS_SYSMENU) Const WS_TILED& = WS_OVERLAPPED ' Const WS_TILEDWINDOW& = WS_OVERLAPPEDWINDOW ' ' Расширенные параметры окна Const WS_EX_LEFT& = &H0& ' значение по умолчанию Const WS_EX_LTRREADING& = &H0& ' значение по умолчанию Const WS_EX_RIGHTSCROLLBAR& = &H0& ' значение по умолчанию Const WS_EX_DLGMODALFRAME& = &H1& ' окно имеет двойную рамку Const WS_EX_NOPARENTNOTIFY& = &H4& ' Windows не будет уничтожать это окно Const WS_EX_TOPMOST& = &H8& ' окно находится поверх остальных у которых бит не установлен Const WS_EX_ACCEPTFILES& = &H10& ' окно принимает файлы при перетаскивании из диспетчера файлов (?) Const WS_EX_TRANSPARENT& = &H20& ' окно является прозрачным и не скрывает окна под собой Const WS_EX_MDICHILD& = &H40& ' окно имеет уменьшенный заголовок и не отображается в панели задач Const WS_EX_TOOLWINDOW& = &H80& ' окно представляет собой кнопку, содержащую растр вместо текста Const WS_EX_WINDOWEDGE& = &H100& ' окно имеет приподнятую рамку Const WS_EX_CLIENTEDGE& = &H200& ' окно имеет утопленную рамку Const WS_EX_CONTEXTHELP& = &H400& ' в заголовке есть кнопка с вопросом. Const WS_EX_RIGHT& = &H1000& ' если WS_EX_RTLREADING установлен текст выравнивается по правому краю Const WS_EX_RTLREADING& = &H2000& ' в иврите и арабском языке текст вывлдится справа налево Const WS_EX_LEFTSCROLLBAR& = &H4000& ' если WS_EX_RTLREADING установлен полоса прокрутки перемещается налево Const WS_EX_CONTROLPARENT& = &H10000 ' клавиша Tab вызывает переключение между дочерними окнами данного окна Const WS_EX_STATICEDGE& = &H20000 ' объемное оформление Const WS_EX_APPWINDOW& = &H40000 ' свернутое приложение помещается в панель задач ' Разновидность параметра Const GWL_WNDPROC& = (-4) ' адрес функции окна Const GWL_HINSTANCE& = (-6) ' манипулятор экземпляра, владеющего заданным окном Const GWL_HWNDPARENT& = (-8) ' манипулятор родителя для заданного окна (лучше только читать, для записи SetParent) Const GWL_ID& = (-12) ' идентификатор дочернего окна в диалоговой панели Const GWL_STYLE& = (-16) ' СТИЛЬ ОКНА Const GWL_EXSTYLE& = (-20) ' РАСШИРЕННЫЙ СТИЛЬ ОКНА Const GWL_USERDATA& = (-21) ' параметры определяются приложением (что то навроде Tag) ' функции для чтения и записи информации о структуре окна Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 'Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long ' приведение окна к нормальному виду (можно его нормально закрыть) Private Sub Command1_Click() SetWindowLong Me.hwnd, -16, tmplong 'GetWindowLong(Me.hwnd, -16) Or WS_CAPTION& Or WS_THICKFRAME& Me.Height = Me.Height - 10 Me.Height = Me.Height + 10 End Sub ' кнопка убирает заголовок окна режим Borderstyle="2" Private Sub Command2_Click() SetWindowLong Me.hwnd, -16, tmplong And (Not WS_CAPTION&) Me.Height = Me.Height - 10 Me.Height = Me.Height + 10 End Sub ' кнопка убирает толстую рамку. режим Borderstyle="1" Private Sub Command3_Click() SetWindowLong Me.hwnd, -16, tmplong And (Not WS_THICKFRAME&) Me.Height = Me.Height - 10 Me.Height = Me.Height + 10 End Sub ' кнопка убирает толстую рамку. режим Borderstyle="0" Private Sub Command4_Click() SetWindowLong Me.hwnd, -16, tmplong And (Not (WS_THICKFRAME& Or WS_CAPTION&)) Me.Height = Me.Height - 10 Me.Height = Me.Height + 10 End Sub 'кнопка утопляет поверхность формы Private Sub Command5_Click() SetWindowLong Me.hwnd, -20, tmplong1 Or WS_EX_CLIENTEDGE& Me.Height = Me.Height - 10 Me.Height = Me.Height + 10 End Sub ' при загрузке формы желательно сохранить ее параметры в переменных ' и восстановить их при ее удалении, ' а то можно получить ошибку защиты Private Sub Form_Load() tmplong = GetWindowLong(Me.hwnd, -16) Or WS_VISIBLE& tmplong1 = GetWindowLong(Me.hwnd, -20) End Sub Private Sub Form_Unload(Cancel As Integer) SetWindowLong Me.hwnd, -16, tmplong And Not WS_VISIBLE& SetWindowLong Me.hwnd, -20, tmplong1 End Sub ' Т.е. вид окна определяется набором флагов. ' Для установки SetWindowLong Me.hwnd, GWL_ ... , GetWindowLong(Me.hwnd, GWL_ ....) Or (сбрасываемое значение WS_ или WS_EX) ' Для сброса SetWindowLong Me.hwnd, GWL_ ... , GetWindowLong(Me.hwnd, GWL_ ....) And Not (сбрасываемое значение WS_ или WS_EX) Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
||||||||||||||||||||
Выпуск подготовили: |
Сурменок Павел |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||