Бесплатный ribbon
Следуя духу нового времени решил сделать для своего курсовика по предмету "Базы данных" красивый интерфейс в стиле Microsoft Office 2007. Такой интерфейс называется ribbon-интерфейсом, т.е. ленточным.
Беглый обзор стандартных компонентов показал что ribbon есть только для MFC-разработок, а у меня приложение на NET платформе. После поиска WinForms компонентов решил остановиться на платном компоненте Elegant Ribbon от компании FOSS Software.
Не зарегистрированная версия библиотеки при каждом запуске программы открывает дополнительное окно с уведомлением.
[inline:elegant.png]
Но откуда у бедного студента почти 200 $ на годовую подписку пользования компонентом? Пришлось изобретать велосипед.
На помощь пришел WinAPI и функции работы с окнами. Для того чтобы избавиться от этого окна необходимо отправить ему сообщение WM_DESTROY. Это можно сделать вызвав функцию DestroyWindow(IntPtr hWnd), параметром которой является handle убиваемого окна. Так как мы используем C# то сначала необходимо импортировать некоторые функции из user32.dll
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
public static extern bool DestroyWindow(IntPtr hWnd);
теперь в конструкторе главной формы нашего приложения вызовем функцию DestroyWindow
public MainForm()
{
InitializeComponent();
DestroyWindow(FindWindow(null, "Elegant UI"));
}
Вызвать её нужно именно после InitializeComponent() т.е. после создания компонентов формы.
Теперь при запуске программы окно с напоминанием появляется и исчезает, для курсовика этот "артефакт" вполне допустим.
Используйте для коммерческих разработок лицензионные компоненты, уважайте труд разработчиков.
- Комментировать (войти)
Комментарии
классно, заюзаем =)
классно, заюзаем =)