Improved the moving and resizing of the gadget on multi-monitor systems. Fixed one problem where the underlying gadget window size would be reduced unrequested. Fine tuned the progress bar size in the gadget.

This commit is contained in:
Michael Möller 2010-11-16 21:48:26 +00:00
parent 5f6e6221b4
commit e5d7595b00
3 changed files with 14 additions and 7 deletions

View File

@ -152,7 +152,8 @@ namespace OpenHardwareMonitor.GUI {
if (!lockPositionAndSize) {
// prevent the window from leaving the screen
if ((wp.flags & SWP_NOMOVE) == 0) {
Rectangle rect = Screen.GetWorkingArea(new Point(wp.x, wp.y));
Rectangle rect = Screen.GetWorkingArea(
new Rectangle(wp.x, wp.y, wp.cx, wp.cy));
const int margin = 16;
wp.x = Math.Max(wp.x, rect.Left - wp.cx + margin);
wp.x = Math.Min(wp.x, rect.Right - margin);
@ -194,7 +195,11 @@ namespace OpenHardwareMonitor.GUI {
}
// do not forward any move or size messages
wp.flags |= SWP_NOSIZE | SWP_NOMOVE;
wp.flags |= SWP_NOSIZE | SWP_NOMOVE;
// suppress any frame changed events
wp.flags &= ~SWP_FRAMECHANGED;
Marshal.StructureToPtr(wp, message.LParam, false);
message.Result = IntPtr.Zero;
} break;
@ -383,6 +388,7 @@ namespace OpenHardwareMonitor.GUI {
public const uint SWP_NOSIZE = 0x0001;
public const uint SWP_NOMOVE = 0x0002;
public const uint SWP_NOACTIVATE = 0x0010;
public const uint SWP_FRAMECHANGED = 0x0020;
public const uint SWP_HIDEWINDOW = 0x0080;
public const uint SWP_SHOWWINDOW = 0x0040;
public const uint SWP_NOZORDER = 0x0004;

View File

@ -379,8 +379,8 @@ namespace OpenHardwareMonitor.GUI {
new Rectangle(back.Width - r, back.Height - b, r, b), u);
}
private void DrawProgress(Graphics g, int x, int y, int width, int height,
float progress)
private void DrawProgress(Graphics g, float x, float y,
float width, float height, float progress)
{
g.DrawImage(barBack,
new RectangleF(x + width * progress, y, width * (1 - progress), height),
@ -474,7 +474,8 @@ namespace OpenHardwareMonitor.GUI {
rightMargin;
} else {
DrawProgress(g, w - progressWidth - rightMargin,
y + 4, progressWidth, 6, 0.01f * sensor.Value.Value);
y + 0.35f * sensorLineHeight, progressWidth,
0.6f * sensorLineHeight, 0.01f * sensor.Value.Value);
remainingWidth = w - progressWidth - rightMargin;
}

View File

@ -37,5 +37,5 @@
using System.Reflection;
[assembly: AssemblyVersion("0.2.1.6")]
[assembly: AssemblyInformationalVersion("0.2.1.6 Alpha")]
[assembly: AssemblyVersion("0.2.1.7")]
[assembly: AssemblyInformationalVersion("0.2.1.7 Alpha")]