2025-02-10 20:53:40 +08:00
|
|
|
|
namespace ShrlAlgo.Toolkit.Revit.Helpers;
|
2024-09-22 11:05:41 +08:00
|
|
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|