Toolbar1.RestoreToolbar
Toolbar1.SaveToolbar
DVV писал(а):Чтение/запись файла.
GM писал(а):Если не ошибаюсь вот это:
- Код: Выделить всё
Toolbar1.RestoreToolbar
Toolbar1.SaveToolbar
Если не то, то сохранение в файл, либо в реестр.
Toolbar1.SaveToolbar "FBR", "ToolBars", "Toolbar1"
Toolbar1.RestoreToolbar "FBR", "ToolBars", "Toolbar1"
A.A.Z. писал(а):Полагаю, что ручками придется - перебираешь все, что тебе нужно, записываешь параметры в некий файл в определенном порядке, затем обратно восстанавливаешь
-?Warning When the RestoreToolbar method is used, any toolbar buttons that do not contain ImageList ListImage object will disappear. A user can make them visible again by using the Reset button on the Customize Toolbar dialog box. You can use the Customize method to programmatically invoke this dialog box for the user.
tyomitch писал(а):Ruslan, ты чего-то делаешь не так. Я проверил - у меня всё работает. И сохраняет, и восстанавливает. VB6SP6.
Возможно, у тебя с этим проблемы:-?Warning When the RestoreToolbar method is used, any toolbar buttons that do not contain ImageList ListImage object will disappear. A user can make them visible again by using the Reset button on the Customize Toolbar dialog box. You can use the Customize method to programmatically invoke this dialog box for the user.
Ruslan Demidow писал(а):Сохраняю настройки так:
- Код: Выделить всё
Toolbar1.SaveToolbar "FBR", "ToolBars", "Toolbar1"
Восстанавливаю:
- Код: Выделить всё
Toolbar1.RestoreToolbar "FBR", "ToolBars", "Toolbar1"
tyomitch писал(а):У меня тоже задан только один ImageList, и точно такой же код -Ruslan Demidow писал(а):Сохраняю настройки так:
- Код: Выделить всё
Toolbar1.SaveToolbar "FBR", "ToolBars", "Toolbar1"
Восстанавливаю:
- Код: Выделить всё
Toolbar1.RestoreToolbar "FBR", "ToolBars", "Toolbar1"
- работает.
У тебя какой SP? Может, дело в этом?
Или может, ты вызываешь это при загрузке формы?
Ruslan Demidow писал(а):2) Восстанавливаю настройки тулбара в процедуре загрузки формы. Или нужно в Activate?
MORE INFORMATION писал(а):The Toolbar control will not restore a button if the button does not have an image. Also, if you try to use the RestoreToolbar method in the form Load or Activate event, it will fail.
RESOLUTION писал(а):Make sure all buttons use an image. You can create a 16x16 (pixel) bitmap and set the Mask Property of an ImageList control so the user does not see the image. Use a Timer control to restore a Toolbar when a form loads.
idem писал(а):
- Код: Выделить всё
Private Sub Form_Load()
[skipped]
' Uncomment the next two lines to have the Toolbars restore when
' the form loads.
'Timer1.Enabled = True
'Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
' This will restore the Toolbars when the form first loads.
Toolbar1.RestoreToolbar "Test", "bar1", "Toolbar1"
Toolbar2.RestoreToolbar "Test", "bar2", "Toolbar2"
Timer1.Enabled = False
End Sub
tyomitch писал(а):Ruslan, ты как-то не так удаляешь кнопки - кодом, что ли? Если удалять их в диалоге кустомизации, то всё прекрасно сохраняется и восстанавливается.
tyomitch писал(а):Ruslan, чудеса в решете... Сейчас попытаюсь разобраться.
1) проблема с сепараторами - в том, что у них нет картинки. В событии Toolbar1_Change нужно пробегать по всем сепараторам и расставлять им (пустые) картинки.
2) исчезающие кнопки - это тоже отдельная (документированная!)
фишка. Говорят, после RestoreToolbar нужно руками добавить в него все недостающие кнопки, и всё будет нормально.
Ruslan Demidow писал(а):tyomitch писал(а):1) проблема с сепараторами - в том, что у них нет картинки. В событии Toolbar1_Change нужно пробегать по всем сепараторам и расставлять им (пустые) картинки.
Пустые это как. Вообще никакой картинки, или сделать просто какую-то картинку и присвоить её сепаратору?
Ruslan Demidow писал(а):В тулбар сепаратор в список доступных добавляется автоматически.
Если я добавлю свой сепаратор - то в списке будет два разделителя.
Один от VB, второй мой.
Ruslan Demidow писал(а):2) исчезающие кнопки - это тоже отдельная (документированная!)
фишка. Говорят, после RestoreToolbar нужно руками добавить в него все недостающие кнопки, и всё будет нормально.
Добавлять в коде? Я пробовал - ругается, что кнопка с таким ключом уже существует, хотя в списке доступных кнопок её нет.
В общем полтергейст какой-то.
tyomitch писал(а):Ruslan Demidow писал(а):tyomitch писал(а):1) проблема с сепараторами - в том, что у них нет картинки. В событии Toolbar1_Change нужно пробегать по всем сепараторам и расставлять им (пустые) картинки.
Пустые это как. Вообще никакой картинки, или сделать просто какую-то картинку и присвоить её сепаратору?
Просто какую-то; говорят, её рисунок всё равно нигде не рисуется. Сейчас проверю, кстати.
tyomitch писал(а):Ruslan Demidow писал(а):В тулбар сепаратор в список доступных добавляется автоматически.
Если я добавлю свой сепаратор - то в списке будет два разделителя.
Один от VB, второй мой.
Дык ты не собственный сепаратор должен создать, а {выделенное сверху}.
tyomitch писал(а):Ruslan Demidow писал(а):2) исчезающие кнопки - это тоже отдельная (документированная!)
фишка. Говорят, после RestoreToolbar нужно руками добавить в него все недостающие кнопки, и всё будет нормально.
Добавлять в коде? Я пробовал - ругается, что кнопка с таким ключом уже существует, хотя в списке доступных кнопок её нет.
В общем полтергейст какой-то.
Ага, самый настоящий полтергейтс
Сейчас ещё поковыряю.
tyomitch писал(а):Роман, посмотри тулбар на http://www.vbaccelerator.com/home/VB/Co ... rticle.asp - он вроде бы может сохранять настройки.
Со стандартным я не знаю что делать. После того, как я добавляю или удаляю кнопки в диалоге кустомизации, Buttons.Count не меняется 8-[
Private Sub Timer1_Timer()
Debug.Print "До восстановления..."
ButtonsInfo
Toolbar1.RestoreToolbar "FBR", "ToolBars", "Toolbar1"
Debug.Print "После восстановления..." & vbCrLf
ButtonsInfo
Timer1.Enabled = False
Toolbar1.Visible = True
End Sub
Sub ButtonsInfo()
Dim iButton As MSComctlLib.Button
Dim i As Integer
With Toolbar1
For Each iButton In .Buttons
i = i + 1
Debug.Print "======================="
Debug.Print "Index =" & iButton.Index
Debug.Print "Key=" & iButton.Key
Debug.Print "Image =" & iButton.Image
Debug.Print "Width =" & iButton.Width
Debug.Print "Height =" & iButton.Height
Debug.Print "Style =" & iButton.Style
Debug.Print "Visible =" & iButton.Visible
Debug.Print "Value =" & iButton.Value & vbCrLf
Next
End With
End Sub
Immediate Window
------------------------------------------
До восстановления...
=======================
Index =1
Key=OpenBase
Image =1
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =2
Key=SelectArea
Image =2
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =3
Key=Find
Image =3
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =4
Key=ExpandTread
Image =4
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =5
Key=CollapseTread
Image =5
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =6
Key=SaveMail
Image =6
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =7
Key=SaveTread
Image =7
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =8
Key=Settings
Image =8
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =9
Key=Exit
Image =9
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
После восстановления...
=======================
Index =1
Key=OpenBase
Image =1
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =2
Key=SelectArea
Image =2
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =3
Key=Find
Image =3
Width =345,2599
Height =329,9528
Style =0
Visible =True
Value =0
=======================
Index =4
Key=ExpandTread
Image =4
Width =0
Height =0
Style =0
Visible =True
Value =0
=======================
Index =5
Key=CollapseTread
Image =5
Width =0
Height =0
Style =0
Visible =True
Value =0
=======================
Index =6
Key=SaveMail
Image =6
Width =0
Height =0
Style =0
Visible =True
Value =0
=======================
Index =7
Key=SaveTread
Image =7
Width =0
Height =0
Style =0
Visible =True
Value =0
=======================
Index =8
Key=Settings
Image =8
Width =0
Height =0
Style =0
Visible =True
Value =0
=======================
Index =9
Key=Exit
Image =9
Width =0
Height =0
Style =0
Visible =True
Value =0
Сейчас этот форум просматривают: С.Т. и гости: 3