Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
MVG
-
- Новичок

-
-
- Сообщения: 46
- Зарегистрирован: 28.04.2004 (Ср) 15:07
- Откуда: Одесса
MVG » 30.12.2004 (Чт) 14:47
Задавал вопрос на "VB для новичков". К сожалению, подробного ответа не было.
Вопрос:
Как создать свою панель в MDI-форме аналогичную той, что внизу рабочего стола Windows-а, чтобы при открытии дочерних форм их кнопки появлялись бы на ней. Чтобы при развёрнутых дочерних окнах к ним был лёгкий доступ через эти кнопки?
-
Konst_One
-
- Член-корреспондент академии VBStreets

-

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
Konst_One » 30.12.2004 (Чт) 14:55
а чем тебя не устраивает Toolbar с кнопками в стиле checkbox в одной группе, чтобы при нажатии на одну все остальные отжимались?
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 30.12.2004 (Чт) 15:05
Ему не Toolbar нужен, а Taskbar.
Lasciate ogni speranza, voi ch'entrate.
-
Konst_One
-
- Член-корреспондент академии VBStreets

-

-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
Konst_One » 30.12.2004 (Чт) 15:34
вот набросал что-то подобное:
- Код: Выделить всё
'=================
'MDIpanel.vbp
'=================
Type=Exe
Form=Form1.frm
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\WINNT\system32\stdole2.tlb#OLE Automation
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; Mscomctl.ocx
Form=MDIForm1.frm
IconForm="MDIForm1"
Startup="MDIForm1"
HelpFile=""
Title="MDIpanel"
ExeName32="MDIpanel.exe"
Command32=""
Name="MDIpanel"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=1
AutoIncrementVer=1
ServerSupportFiles=0
VersionLegalCopyright="© Konst Popov, 2004 "
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1
'=================
'MDIForm1
'=================
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "Mscomctl.ocx"
Begin VB.MDIForm MDIForm1
AutoShowChildren= 0 'False
BackColor = &H8000000C&
Caption = "MDIForm1"
ClientHeight = 3855
ClientLeft = 60
ClientTop = 345
ClientWidth = 6165
LinkTopic = "MDIForm1"
StartUpPosition = 3 'Windows Default
Begin MSComctlLib.Toolbar Toolbar1
Align = 2 'Align Bottom
Height = 330
Left = 0
TabIndex = 0
Top = 3525
Width = 6165
_ExtentX = 10874
_ExtentY = 582
ButtonWidth = 1138
AllowCustomize = 0 'False
Style = 1
TextAlignment = 1
_Version = 393216
BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628}
NumButtons = 1
BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628}
Key = "group"
Style = 3
EndProperty
EndProperty
End
End
Attribute VB_Name = "MDIForm1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public Counter As Integer
Public frms As Collection
Private Sub MDIForm_DblClick()
Dim f As Form1
Counter = Counter + 1
Set f = New Form1
f.Key = Counter
f.Show
frms.Add f, "s_" & Counter
End Sub
Private Sub MDIForm_Load()
Set frms = New Collection
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
Set frms = Nothing
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim f As Form1
Dim i As Integer
For i = 1 To frms.Count
Set f = frms.Item(i)
If f.Key = Button.Tag Then
f.SetFocus
End If
Set f = Nothing
Next i
End Sub
'=============================
'Form1.frm - Child form
'=============================
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
MDIChild = -1 'True
ScaleHeight = 3195
ScaleWidth = 4680
ShowInTaskbar = 0 'False
Visible = 0 'False
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public Key As String
Private Sub Form_Load()
Dim bt As MSComctlLib.Button
Dim b As Boolean
Me.Caption = "Форма " & Key
b = False
For Each bt In MDIForm1.Toolbar1.Buttons
bt.Value = tbrUnpressed
If bt.Tag = Key Then
b = True
bt.Visible = False
End If
Next bt
If Not b Then
Set bt = MDIForm1.Toolbar1.Buttons.Add(, "s_" & Key, "Форма " & Key, MSComctlLib.tbrButtonGroup)
bt.Tag = Key
bt.Value = tbrPressed
Set bt = Nothing
End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
MDIForm1.Toolbar1.Buttons.Item("s_" & Key).Visible = False
MDIForm1.frms.Remove "s_" & Key
End Sub
-
MVG
-
- Новичок

-
-
- Сообщения: 46
- Зарегистрирован: 28.04.2004 (Ср) 15:07
- Откуда: Одесса
MVG » 30.12.2004 (Чт) 17:12
Я новичок.

Но попробую разобраться в присланном коде.
В любом случае, спасибо.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31