Files
ShrlAlgoToolkit/Sai.Toolkit.Revit/Helpers/StatusBarAssist.cs

43 lines
1.1 KiB
C#
Raw Normal View History

2024-09-22 11:05:41 +08:00
using System.Runtime.InteropServices;
using Sai.Toolkit.Revit.Helpers;
namespace Sai.Toolkit.Revit.UserControls;
public class StatusBarAssist
{
private IntPtr statusBar = IntPtr.Zero;
protected StatusBarAssist()
{
// 找到状态栏,这样我们就可以添加信息了。
var revitHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
if (revitHandle != IntPtr.Zero)
{
statusBar = KeyIntPtrHelper.FindWindowEx(revitHandle, IntPtr.Zero, "msctls_statusbar32", string.Empty);
}
}
/// <summary>
/// 如果状态栏有有效句柄,则设置状态栏的值。
/// </summary>
/// <param name="msg">The message.</param>
public void Set(string msg)
{
if (statusBar != IntPtr.Zero)
{
KeyIntPtrHelper.SetWindowText(statusBar, msg);
}
}
/// <summary>
/// 创建一个新的 StatusBarAssist。
/// </summary>
/// <returns>The StatusBarAssist.</returns>
public static StatusBarAssist Create()
{
return new StatusBarAssist();
}
}