Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Статья: Как украшать свои программы в среде программирования Visual Basic. |

26.09.2006, 11:46
|
|
Познающий
Регистрация: 15.07.2006
Сообщений: 48
Провел на форуме: 126131
Репутация:
26
|
|
Статья: Как украшать свои программы в среде программирования Visual Basic.
Как украшать свои программы в среде программирования 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: mail@mail.ru"
Ну и для нашего Античата:
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.
Последний раз редактировалось d1n; 26.09.2006 в 11:53..
|
|
|

26.09.2006, 12:34
|
|
Участник форума
Регистрация: 02.05.2006
Сообщений: 193
Провел на форуме: 530613
Репутация:
25
|
|
Visual Basic это не гут
|
|
|

26.09.2006, 13:05
|
|
Познающий
Регистрация: 15.07.2006
Сообщений: 48
Провел на форуме: 126131
Репутация:
26
|
|
em00s7
Зря так говоришь, знаешь бота от System'a? Он написан на Visual Basic! Да и не хуже он Delphi!
|
|
|

26.09.2006, 14:57
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
А вот прогресс бар зачем? ) Чтобы красивее выглядить? А таймер с каким интервалом стоит? В одну секунду? Тоесть надо ждать 100 секунд для загрузки проги? Ваще это нафиг не нуна...
|
|
|

26.09.2006, 15:46
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
Да,статья нормальная прочитал вроде бы...
Кстати, если надо то смогу написать тоже небольшую статью, как сделать чтобы программы на делфи были в стиле WindowsXP (кто не знает они имеют стандартный вид) 
|
|
|

26.09.2006, 17:02
|
|
Познающий
Регистрация: 15.07.2006
Сообщений: 48
Провел на форуме: 126131
Репутация:
26
|
|
Сообщение от Dr.Check
Да,статья нормальная прочитал вроде бы...
Кстати, если надо то смогу написать тоже небольшую статью, как сделать чтобы программы на делфи были в стиле WindowsXP (кто не знает они имеют стандартный вид)
Я тоже хотел сюда запостить оформление под стиль XP только на VB, но компоненты много весят ажно 190 кб я их залить не смогу проблемы с нетом. Да и разберется не каждый начнём с легкого все будет. Намек ясен? 
bul.666
Интервал по стандарту. Попробуй сделать по статье и увидишь. Видно ты не очень шариш в этом (без обид) заргузка идет в течении 15 секунд.
|
|
|

26.09.2006, 17:28
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
но компоненты много весят ажно 190 кб
Странно, мне не надо никаких компонентов. Просто создать .xml файл с некоторым содержимым, да + пару настроек в самом Делфи сделать.
|
|
|

26.09.2006, 19:47
|
|
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
Провел на форуме: 7364332
Репутация:
1276
|
|
Не знаю уже как 2 года не программер на Vb, и не хочу к нему возращаться, и мне кажется что Vb это уже Bad
|
|
|

27.09.2006, 09:23
|
|
Познающий
Регистрация: 15.07.2006
Сообщений: 48
Провел на форуме: 126131
Репутация:
26
|
|
DIAgen
Ну как говорится твоё право. Дельфи и Визуал оба по своему хороши.
Dr.Check
Ну ты пишешь на стандартных компонентах, а я нет там dll итд глянь хоть один архив поймешь о чём я 
|
|
|

27.09.2006, 10:39
|
|
Участник форума
Регистрация: 02.05.2006
Сообщений: 193
Провел на форуме: 530613
Репутация:
25
|
|
-1
Статья: Как украшать св...
26.09.2006 13:55
Mobile
Visual Basic гуд! За флейм!
хахах мобаил ты сам то его знаешь ?? ты вообще хоть какой-нить язык знаеш?)) бля ты меня порожаешь не зная ставить - ......
Последний раз редактировалось Mobile; 27.09.2006 в 16:08..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|