我有一个使用 Visual Studio Shell 的产品。我正在玩我可以用状态栏做什么,到目前为止只有设置文本和显示栏进度有效。基本上我想要实现的是模仿我的应用程序中状态栏的 Visual Studio 行为(颜色变化、图标变化、单击图标时的弹出窗口)。
我想使用 IVsStatusbar.SetColorText 更改状态栏的颜色,但它不起作用。微软网页上有一条评论说“该方法忽略了 crForeColor 和 crBackColor 的值,总是将前景色设置为白色,将背景色设置为深蓝色”。它不仅完全按照该注释中的内容(白色文本,深蓝色背景)进行操作,而且还没有更改整个状态栏(部分颜色保持不同)。有没有办法以编程方式更改该栏的颜色?
第二件事是我尝试了 Microsoft 页面中有关显示图标的示例:
// Use the standard Visual Studio icon for building.
object icon = (short)Microsoft.VisualStudio.Shell.Interop.Constants.SBAI_Build;
// Display the icon in the Animation region.
statusBar.Animation(1, ref icon);
// The message box pauses execution for you to look at the animation.
System.Windows.Forms.MessageBox.Show("showing?");
// Stop the animation.
statusBar.Animation(0, ref icon);
但它根本不起作用。
互联网上关于 IVsStatusbar 的资源并不多,但也许你可以帮助我。