У меня возникла небольшая проблемка с элементом управления СoolBar. В большинстве приложений, написанных в C, панели инструментов выглядят так же, как и полосы CoolBar'а, хотя там вроде бы этот элемент управления именуется ReBar, но это по-моему не важно, ведь используется одна и та же библиотека - Comctl3, а следовательно должны вызываться те же функции Windows. И всё же добиться того же поведения в режиме выполнения в VB мне не удаётся. Имеется ввиду то, что Band'ы должны как бы "отрываться" от общей группы и свободно "плавать" по всему рабочему пространству приложения, при этом остаются активными и родительское окно (MDI форма), и документ (дочерняя форма), и, что самое дивительное, сама форма с содержимым Band'а. Если бы при нажатии кнопки мыши (MouseDown) на Band'е происходило скрытие Band'а (Band(i).Visible=False) и отображение формы с содержимым этого Band'а (frmDialogTools.Visible=True), было бы чудесно, НО: 1) Как тогда должна отображаться форма frmDialogTools, чтобы MDI и дочерние окна и она сама были активными, ведь метод Show, даже при указании владельца (Owner) отображаемой формы делает этого владельца неактивным, а несколько активных форм в рабочей области MDI формы не могут (вроде бы) существовать. 2) Как оказалось класс Band вообще не имеет ни событий, ни методов ( хотя бы выше упомянутого MouseDown), как же тогда реагируют на события мыши полосы панели управления во всех приложениях (не их содержимое а сами Band'ы). Пробовал дописать события к классу Band, но тогда нужно как минимум создавать экземпляр класса CoolBar со свойством Bands, возвращающем ссылку на элемент набора Bands, сам класс Bands, да еще и сам класс Band со всеми его свойствами и новыми методами о событиями. Не вышло. Но по-моему все поведение Band'ов должен обеспечивать элемент управления CoolBar, неужели в VB этот элемент управления позволяет только лишь "набить" себя другими элементами управления и на этом ограничить их свободу? Возможно (но вряд - ли) я использую не совсем свежую библиотеку Microsoft Windows Common Controls 3, у меня стоит Visual Studio 98, т.е. VB 6.0, и соответственно библиотека Microsoft Windows Common Controls 3 6.0. Если дело в библиотеке то пришлите посвежее, ту что надо, а если нет, пришлите лучше работаюший код, я уж сам в нем разберусь. А если не трудно то и то и другое и с разъяснениями. Вобщем помогите.
Ответить
|