VBNet
VBMania
Голосование: Голосования сайта VBNet.Ru. Результаты голосований передаются на сайт. Проследите, что есть соединение с интернетом. Ссылки: |
Господа!!! читайте MSDN!!! Несколько слов от автора:
Новый выпуск. Ничего нового в рассылке и на сайте не происходит...
Читайте! Содержание выпуска
Книги
Остальные книги о VB можно найти здесь. наверх Выравнивание надписи на кнопке Добавьте на форму элемент Command Button. Изменяя константу fAlignment&, изменится местоположение надписи на кнопке. Private Declare Function GetWindowLong& Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) Private Declare Function SetWindowLong& Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) Const A_CENTER = &H300& Const A_TOP = &H400& Const A_TOPLEFT = &H500& Const A_TOPRIGHT = &H600& Const A_BOTTOM = &H800& Const A_BOTTOMLEFT = &H900& Const A_BOTTOMRIGHT = &HA00& Const A_LEFT = &H100& Const A_RIGHT = &H200& Const GWL_STYLE& = (-16) Private Sub Command1_Click() Dim tmpValue& Dim Align& Dim ret& 'Данный пример расположит надпись на кнопке вверху кнопки 'Для того, чтобы расположить надпись в другом месте, используйте константы, начинающиеся с A_ fAlignment& = A_TOP tmpValue& = GetWindowLong&(Command1.hwnd, GWL_STYLE) And Not BS_RIGHT ret& = SetWindowLong&(Command1.hwnd, GWL_STYLE, tmpValue& Or fAlignment&) Command1.Refresh End Sub наверх Создание 3D Text на Label Добавьте CommandButton на форму и 3 Label Const GFM_STANDARD = 0 Const GFM_RAISED = 1 Const GFM_SUNKEN = 2 Const GFM_BACKSHADOW = 1 Const GFM_DROPSHADOW = 2 Const BOX_WHITE& = &HFFFFFF Const BOX_LIGHTGRAY& = &HC0C0C0 Const BOX_DARKGRAY& = &H808080 Const BOX_BLACK& = &H0& Static Sub FormLabelCaptionEmbossed(L1 As Label, L2 As Label, L3 As Label, label_text As String, label_effect As Integer, label_forecolor As Long, label_depth As Integer) Dim lt As String Dim savesm As Integer Dim f As Form Set f = L1.Parent L1.Visible = False L2.Visible = False L3.Visible = False savesm = f.ScaleMode f.ScaleMode = 3 If label_text = "" Then lt = L1 Else lt = label_text End If L1 = lt L2 = lt L3 = lt L1.BackStyle = 0 L1.ForeColor = label_forecolor L2.Width = L1.Width L2.Height = L1.Height L2.BackStyle = L1.BackStyle L2.ForeColor = BOX_DARKGRAY& L3.Width = L1.Width L3.Height = L1.Height L3.BackStyle = L1.BackStyle L3.ForeColor = BOX_WHITE& Select Case label_effect Case GFM_SUNKEN L2.Left = L1.Left - label_depth L2.Top = L1.Top - label_depth L3.Left = L1.Left + label_depth L3.Top = L1.Top + label_depth Case GFM_RAISED L2.Left = L1.Left + label_depth L2.Top = L1.Top + label_depth L3.Left = L1.Left - label_depth L3.Top = L1.Top - label_depth End Select f.ScaleMode = savesm L1.Visible = True L2.Visible = True L3.Visible = True L1.ZOrder End Sub Private Sub Command1_Click() 'Replace 'VBTown' with the text you want to display, 'Replace the first '1' with '2' to change the 3D effect. 'Replace 'vbBlack' with the Text Color. FormLabelCaptionEmbossed Label1, Label2, Label3, "VBTown", 1, vbBlack, 1 End Sub наверх Создать анимированный Label Добавьте Label и Timer на форму. Установите свойство таймера Interval в 1. Вставьте следующий код на форму Private Sub Timer1_Timer() Static A A = A + 10: If A > 510 Then A = 0 'Для изменения эффекта, измените 0 внизу 'Вы также можете изменить интевал 'Abs(A - 256)' 'Также вы можете изменить интервал таймера Label1.BackColor = RGB(Abs(A - 256), 0, 0) End Sub наверх Вертикальное/горизонтальное написание в элементе Label Расположите на форме элемент CommandButton а также элемент Label Private Function Vertical_Horizontal(ByVal nStr As String) As String Dim MyStr As String, i As Integer Static Vert As Boolean If Vert = False Then For i = 1 To Len(nStr) If i Then MyStr = MyStr + Mid$(nStr, i, 1) & vbCrLf Else MyStr = MyStr + Mid$(nStr, i, 1) End If Next Vertical_Horizontal = MyStr Vert = True Else For i = 1 To Len(nStr) Step 3 MyStr = MyStr + Mid$(nStr, i, 1) Next Vertical_Horizontal = MyStr Vert = False End If End Function Private Sub Command1_Click() Label1.AutoSize = True Label1.Caption = Vertical_Horizontal(Label1.Caption) End Sub '© 2001 by Alexander Anikin 'http://www.i.com.ua/~aka наверх Изменение свойства Style (стиль) элемента OptionButton Если вы попытаетесь изменить свойство Style элементов OptionButton и CheckBox во время выполнения программы, вы получите сообщение об ошибке "can't assign to read-only property". Для решения этой проблемы вы можете воспользоваться следующим кодом. Добавьте на форму элементы OptionButton, CheckBox и 3 CommandButton. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Const GWL_STYLE = (-16) Const BS_PUSHLIKE = &H1000& Public Sub SetGraphicStyle(StyleButton As Control, Flag As Boolean) Dim curstyle As Long Dim newstyle As Long 'exit this sub if the control is not Option Button or Check Box If Not TypeOf StyleButton Is OptionButton And _ Not TypeOf StyleButton Is CheckBox Then Exit Sub curstyle = GetWindowLong(StyleButton.hwnd, GWL_STYLE) If Flag Then curstyle = curstyle Or BS_PUSHLIKE Else curstyle = curstyle And (Not BS_PUSHLIKE) End If newstyle = SetWindowLong(StyleButton.hwnd, GWL_STYLE, curstyle) StyleButton.Refresh End Sub Private Sub Command1_Click() Call SetGraphicStyle(Option1, True) Call SetGraphicStyle(Check1, True) End Sub Private Sub Command2_Click() Call SetGraphicStyle(Option1, False) Call SetGraphicStyle(Check1, False) End Sub Private Sub Command3_Click() Option1.Value = False Check1.Value = False End Sub наверх Автоматический просмотр текущего значения элемента VScrollBar с помощью элемента Label Данный пример при перемещении ползунка элемента VScrollBar разместит справа от ползунка небольшое окно, показывающее текущее значение Value. Разместите на форме элемент VScrollBar и
элемент Label.
Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автора: Шатрыкин Иван и Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: -=BIA=-- Ответ ожидается по этому адресу У меня такой вопросик. Требуется опрашивать джоистик, и всё вроде получается, Private Declare Function joyGetpos Lib "winmm.dll" Alias "joyGetPos" (ByVal uJoyID As Long, pji As JOYINFO) As Long Private Type JOYINFO wXpos As Long wYpos As Long wZpos As Long wButtons As Long End Type Private Sub Timer1_Timer() Dim JOYPOS As JOYINFO joyGetpos 0, JOYPOS Label1 = JOYPOS.wXpos Label2 = JOYPOS.wYpos Label3 = JOYPOS.wZpos Label4 = JOYPOS.wButtons End Sub но TYMER реально не может обрабатывать интервалы времяни больше 1/20 секунды. Подскажите как чаще, очень нужно. Автор вопроса: Святослав Ответ ожидается по этому адресу В 71 выпуске была статья "Проиграть Avi-файл в Picture Box ". Код ее привожу : Добавьте CommandButton и PictureBox на форму Private Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long Private Declare Function mciGetErrorString Lib "winmm" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long Const WS_CHILD = &H40000000 Sub PlayAVIPictureBox(FileName As String, ByVal Window As PictureBox) Dim RetVal As Long Dim CommandString As String Dim ShortFileName As String * 260 Dim deviceIsOpen As Boolean 'Retrieve short file name format RetVal = GetShortPathName(FileName, ShortFileName, Len(ShortFileName)) FileName = Left$(ShortFileName, RetVal) 'Open the device CommandString = "Open " & FileName & " type AVIVideo alias AVIFile parent " & CStr(Window.hWnd) & " style " & CStr(WS_CHILD) RetVal = mciSendString(CommandString, vbNullString, 0, 0&) If RetVal Then GoTo error 'remember that the device is now open deviceIsOpen = True 'Resize the movie to PictureBox size CommandString = "put AVIFile window at 0 0 " & CStr(Window.ScaleWidth / _ Screen.TwipsPerPixelX) & " " & CStr(Window.ScaleHeight / _ Screen.TwipsPerPixelY) RetVal = mciSendString(CommandString, vbNullString, 0, 0&) If RetVal <> 0 Then GoTo error 'Play the file CommandString = "Play AVIFile wait" RetVal = mciSendString(CommandString, vbNullString, 0, 0&) If RetVal <> 0 Then GoTo error 'Close the device CommandString = "Close AVIFile" RetVal = mciSendString(CommandString, vbNullString, 0, 0&) If RetVal <> 0 Then GoTo error Exit Sub error: 'An error occurred. 'Get the error description Dim ErrorString As String ErrorString = Space$(256) mciGetErrorString RetVal, ErrorString, Len(ErrorString) ErrorString = Left$(ErrorString, InStr(ErrorString, vbNullChar) - 1) 'close the device if necessary If deviceIsOpen Then CommandString = "Close AVIFile" mciSendString CommandString, vbNullString, 0, 0& End If 'raise a custom error, with the proper description Err.Raise 999, , ErrorString End Sub Private Sub Command1_Click() 'replace 'c:\myfile.avi' with the name of the AVI file you want to 'play PlayAVIPictureBox "путь к файлу\*.avi", Picture1 End Sub Пример рабочий, только есть одно большое НО. На время работы программа блокируется и невозможно выйти из нее, пока avi-файл не будет проигран. И еще. Как можно в этом примере прикрутить кнопку Stop и Pause, а также прогресс бар. Автор вопроса: Alex Ответ ожидается по этому адресу Kak mozhno vigruzit formu so vsemi elementamiiz pamyati? Автор вопроса: Марина Ответ ожидается по этому адресу Научите меня, как в Excel'e столбик с сотней яаписей представить в виде массива 5 X 20,(1ый столбик в 5 яаписей должен стать первой строчкой) внести ияменения в массиве на другом листе, чтобы эти ияменения окаяались и в столбике ия ста яаписей. Функция Transpose не появоляет редактировать в сояданном массиве и не преобраяует столбик в массив. Автор вопроса: I-Sof Ответ ожидается по этому адресу Дайте код для перезагрузки компа... Автор вопроса: shadow Ответ ожидается по этому адресу Народ, как органияовать ресайз контролов как в Си и дельфах, за край контрола и чтобы появлялась полупрозрачная полоска? Автор вопроса: Эдуард Ответ ожидается по этому адресу Глупейшая проблема! VBNet. Есть форма Form1 в которой есть контрол Form1.TextBox1, который объявлен Public Shared TextBox1 As System.Windows.Forms.TextBox Как мне из модуля Modul1 изменить свойство Form1.TextBox1.Text и самое главное, чтобы оно отображалось в форме Form1? Чегото не хватает. Автор вопроса: AVIX Ответ ожидается по этому адресу Как в RichTextBox вставить рисунок? Автор вопроса: Vladimir Ответ ожидается по этому адресу На активном листе в Excel рисуем линию. Shapes.AddLine(209.25, 24.75, 209.25, 49.5).Select Как ия программы ее удалить? Автор вопроса: Radha das Krishna das Ответ ожидается по этому адресу Как в Windows98-Me,2000,XP из программы написанной на VB6.0 вызывать уже настроенное соединение удаленного доступа. Чтобы можно было автоматически дозваниваться до сервера и в нужный момент отключать это соединение. Может есть готовый пример дозванивалки до удаленной сети на VB? Просьба отправить копию на email: 108vadim@mail.ru Автор вопроса: Кременченко Ответ ожидается по этому адресу Что нужно сделать, чтобы в DBList напротив каждой записи появлялась иконка? Автор вопроса: Dr.Max Ответ ожидается по этому адресу Как=то я спрашивал про загонку массива из файла , но жизнь такая штука ,что иногда надо сделать наоборот. Мне нужно загнать массив в файл ,что бы его можно бы было извлечь таким способом : Dim file1, ds As String Dim i, i1, c As Integer file1 = FreeFile Open App.Path & "\map1.txt" For Input As #file1 i = 0 c = 0 Do While Not EOF(file1) Input #file1, ds For i1 = 1 To Len(ds) map(i, c) = Val(Mid(ds, i1, 1)) c = c + 1 Next i1 c = 0 i = i + 1 Loop Close #file1 Ответы: Вопрос: Я сделал отчет с помощью Crystal Reports Pro присоединил к форме, но когда яаношу новые данные в отчете они не обновляются, как это сделать или подскажите как можно сделать отчет по другому если это вояможно. Испольяую баяу данных MS Access Ответ: Автор ответа: Dima Если не ошибаюсь, в меню Crystal report есть такой пунктик - хранить данные вместе с отчетом. Отключи эту опцию и все будет ОК Вопрос: Есть у меня программа которая рассчитывает кое-какие параметры для босса. Как зделать что бы данные посылались по E-mail 'у без использования стандартных почтовых клиентов, таких как Outlook Express или the bat. Т.е если они у меня не установленны. Ответ: Автор ответа: Александр Горбылёв Всего-насего разработать нестандартный почтовый клиент. Именно ПОЧТОВЫЙ клиент и занимается Email'ами ;-) Вопрос: Есть файл Avi, ножно сунуть его в прогу ,чтобы не тоскать его отдельно. Кто-нибудь знает как ??? Мои эксперементы с ole обламилсь:((((((((( если ,конечно, ole это то ,что нужно. Ответ: Автор ответа: crash.smolensk@fbi.net Попробуй подключить AVI как ресурс Вопрос: Я новичок. У меня два вопроса. 1) Установил VB6. При выяове справки получаю "MSDN collection is not installed". Это ояначает, что диск, с которого я устанавливал VB6 является пиратским и не содержал файлов справки или я что-то сделал не то? И где я могу найти эту самую MSDN collection и как ее доустановить? 2) При написании кода, ничего не могу напечатать по-русски. например MsgBox "Привет" Как можно яаставить VB6 понимать кириллицу или мне надо установить VB6 русскую версию? Ответ: Автор ответа: crash.smolensk@fbi.net Что-бы вб понимал кириллицу надобно в меню Tools\Options закладке Editor format в разделе Font поставить шрифт в котором есть слово CYR что означает кириллица Ответ: Автор ответа: Мунгалов Андрей MSDN ставиться отдельно и идет на пяти или шести компактах. По поводу второго в настройках редактора выбери шрифт котрый заканчивается на "Cyr". это то же шрифт только с поддержкой русских букв. Ответ: Автор ответа: Южноуральская панорама 1. MSDN является отдельным пакетом (если только ты не купил лицензионный Visual Studio :)). Так что иди в магазин и покупай MSDN отдельно (3 или 4 CD). 2. В VB в настройках (на закладке Editors, кажется) надо выбрать шрифт (какой хочешь) и указать для него кодовой страницей кириллицу. Ответ: Автор ответа: Ревягин_Алексей Установи шрифт courier new (Cyrillic) MSDN весит около 1Гб в распакованном виде, возможно его у тебя просто нет на диске с инсталлом Ответ: Автор ответа: Пащенко А. 1. Диск пиратский 2. Меню: Tools -> Options, вкладка "Editor Format". Необходимо поставить шрифт Courier new cyr Ответ: Автор ответа: Tibor Ну на первый вопрос я тебе отвечу: Нет, то что тебе выплёвываеться про MSDN, то это всего-лишь мягкий намёк на то что тебе надо купить ещё кучу колёс :) Лудше всего найди где-нибудь VB5 или хелпы от него разница не большая (между VB6 и VB6) и + там ещё много примеров и хелпов по использованию API в VB !!! Вот так... Ответ: Автор ответа: Bezeq 1. Дело тут не в том, насколько у тебя крякнутый диск, а в том, что кроме установочного диска VB, существует также установочные диски для MSDN. А их количество зависит от версии справочника - иногда 2, иногда 3 а иногда 4 диска. Вот их тебе и надо достать. Где ? Этот вопрос задавался тут раз 20, если не больше, так что копни в прошлых версиях рассылок, может повезет. 2. Заходи в Tools >> Options. Там выбери закладку Editor Format, и там, в окошке Font, выбери какой нибудь фонт под кириллицу. У меня например стоит Courier New CYR. Вот и все, пиши себе наздоровье. Ответ: Автор ответа: Mark 1) VB6 является частью Visul Studio 6, куда входят еще Visual C++, Visual Foxpro и другие - всего 6 CD. Библиотека справки находится на 4 и 5 дисках. Но существуют и отдельные варианты справки. Справка ставится отдельно от самого VB. Ошибка, которая возникает у тебя при установке, известный глюк. Инструкция по борьбе с ним такая - надо удалить все следы предыдущей установки справки по следующей схеме: Uninstalling this release ... Uninstall MSDN Library - Visual Studio 6.0. Select Start, Settings, Control Panel Add/Drop Programs. Click on Microsoft Developer Network Library - Visual Studio 6.0 and click the button Add/Remove. Delete HHCOLREG.DAT and HH.DAT files in the Windows directory. Delete the HHCTRL.OCX file in the Windows\System directory. Delete the HHCOLREG.DAT file in the Windows\Help directory. Then use the Registry Editor (regedit) to remove the desired collection key(s): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections\ Т.Е. надо удалить все указанные файлы, если они есть, и запись из Реестра Windows. После этого все ставится нормально. 2) Для печати русского текста надо выбрать кириллический текст в редакторе. Пункты меню Tools - Options... - Editor Format. В поле Fonts надо выбрать шрифт с Cyr, например, Courier New Cyr. Ответ: Автор ответа: sv Чтобы VB понимал кирилицу, в Tools-Options-Editor Format в окошке Font нужно заменить Courier New на Courier New Cyr. Вопрос: В некоторых играх есть слишком сложные комбинации управляющих клавиш, я пытаюсь заменить их. Но при помощи sendkeys, keybd_event или postmessage - нифига невыходит... В оконные приложения все передается замечательно, а игрушки полноэкранные. Что посоветуете(кроме забить и не парицца)? Ответ: Автор ответа: Tibor Хм. Я тут недавно нарыл в инете прикольную програмулину Restorator называеться, попробуй скачать её и перековырять свою гамосину и все ея либы етой утилой на наличие ресурсов. Если таковые обнаружаться то дерзай! Вопрос: Есть ListBox у которого свойство Sorted = False. Необходимо в определенный момент работы программы (например при установке свойства VALUE = 1 у CheckBox-а) произвести сортировку. Программно, простым заданием ListBox1.Sorted = True не получается. Ответ: Автор ответа: Tibor Попробуй добавить List1.Refresh Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
|||||||||||||||
Выпуск подготовили: |
Сурменок Павел |