Как украшать свои программы в среде программирования Visual Basic. Вот решил написать статейку о том как украшать свои программы в среде Visual Basic. Делаем приклеивание дочернего окна к родительскому. Это финча в основном используется мною (да и программы, которые я видел) для меню опций, очень удобно! Вот как это будет выглядеть: Дополнительные модули скачать Теперь сам код приделывания окон Для родительского окна PHP: Private Sub Form_Load() ' Hook into messages for this window. Call HookWindow(Me.hWnd, Me) ' Create, load, and hook messages for sub form. Set m_Sub = New Form2 Load m_Sub Call HookWindow(m_Sub.hWnd, Me) End Sub Private Sub Form_Unload(Cancel As Integer) ' Always unhook before unloading! Call UnhookWindow(m_Sub.hWnd) Unload m_Sub Set m_Sub = Nothing ' Unhook this (main) one too! Call UnhookWindow(Me.hWnd) End Sub Private Function IMessageSink_WindowProc(hWnd As Long, msg As Long, wp As Long, lp As Long) As Long Static rMain As RECT Static rSub As RECT Dim Result As Long Select Case hWnd Case Me.hWnd Select Case msg Case WM_MOVE, WM_MOVING, WM_SIZE ' Move subform to desired position. If Not (m_Sub Is Nothing) Then ' Retrieve coordinates for both windows. Call GetWindowRect(hWnd, rMain) Call GetWindowRect(m_Sub.hWnd, rSub) ' Position subform appropriately. Call MoveWindow(m_Sub.hWnd, rMain.Right, rMain.Top, rSub.Right - rSub.Left, rMain.Bottom - rMain.Top, True) ' Store new position of subform. Call GetWindowRect(m_Sub.hWnd, rSub) End If Result = InvokeWindowProc(hWnd, msg, wp, lp) Case Else ' Pass along to default window procedure. Result = InvokeWindowProc(hWnd, msg, wp, lp) End Select Case m_Sub.hWnd Select Case msg Case WM_ACTIVATE ' Have main form retain active titlebar. Result = InvokeWindowProc(hWnd, msg, wp, lp) Call SendMessage(Me.hWnd, WM_NCACTIVATE, 1, ByVal 0&) Case WM_MOVING ' Copy stored position of subform to the position ' the user is trying to drag it to. Call CopyMemory(ByVal lp, rSub, Len(rSub)) Result = 1 Case Else ' Pass along to default window procedure. Result = InvokeWindowProc(hWnd, msg, wp, lp) End Select End Select ' Return desired result code to Windows. IMessageSink_WindowProc = Result End Function Private Sub m_Sub_Hide() ' User clicked [X] on subform. Check1.Value = False End Sub Для дочернего PHP: Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If UnloadMode = vbFormControlMenu Then ' Notify parent that user clicked [X]. Cancel = True RaiseEvent Hide End If End Sub Следующая финча. Создаем кнопки в виде пилюлек. Дополнительные модули скачать Вот так это выглядит: Ну и программный код элементарный: Для мыла: Shell "start mailto: [email protected]" Ну и для нашего Античата: Shell "start http://www.antichat.ru" Выход пишется так: end Далее. Если у вас сложная программа и вы сделали так чтобы в начале шла строка загрузки то есть прогресс бар вот даю вам модифицированный, красивый элемент. Дополнительные модули скачать Выглядит это так: Ну и программный код: PHP: Private Sub Timer1_Timer() ProgBar1.Value = ProgBar1.Value + 1 If ProgBar1.Value = 100 Then ProgBar1.Clear End If Form1.Caption = ProgBar1.Value & "%" & "icq 996757" End Sub Ну пожалуй хватит насиловать ваш мозг. Если у вас возникнут проблемы пиши здесь, если не будет получатся то я выложу все исходники и сурсы. Спасибо за внимание (с) d1n 2006.
em00s7 Зря так говоришь, знаешь бота от System'a? Он написан на Visual Basic! Да и не хуже он Delphi!
А вот прогресс бар зачем? ) Чтобы красивее выглядить? А таймер с каким интервалом стоит? В одну секунду? Тоесть надо ждать 100 секунд для загрузки проги? Ваще это нафиг не нуна...
Да,статья нормальная прочитал вроде бы... Кстати, если надо то смогу написать тоже небольшую статью, как сделать чтобы программы на делфи были в стиле WindowsXP (кто не знает они имеют стандартный вид)
Я тоже хотел сюда запостить оформление под стиль XP только на VB, но компоненты много весят ажно 190 кб я их залить не смогу проблемы с нетом. Да и разберется не каждый начнём с легкого все будет. Намек ясен? bul.666 Интервал по стандарту. Попробуй сделать по статье и увидишь. Видно ты не очень шариш в этом (без обид) заргузка идет в течении 15 секунд.
Странно, мне не надо никаких компонентов. Просто создать .xml файл с некоторым содержимым, да + пару настроек в самом Делфи сделать.
Не знаю уже как 2 года не программер на Vb, и не хочу к нему возращаться, и мне кажется что Vb это уже Bad
DIAgen Ну как говорится твоё право. Дельфи и Визуал оба по своему хороши. Dr.Check Ну ты пишешь на стандартных компонентах, а я нет там dll итд глянь хоть один архив поймешь о чём я
хахах мобаил ты сам то его знаешь ?? ты вообще хоть какой-нить язык знаеш?)) бля ты меня порожаешь не зная ставить - ......
em00s7, с твой стороны действительно флейм, минуса ставить не буду, но устно предупрежу. Если тебе не нравится VB, лучше промолчи. Никому подобные сообщения типа это гуд, а это не гуд - не нужны и расцеинваются они как флейм. Делай выводы. В принципе, минус заслуженно стоит.
Diagen ю а вронг! Назови мне 2 языка на которых можно написать то, что на VB написать нельзя! (С и Asm не называй - ЭТО 31337 COD1Ng_)