Mit diesem Script kann die Farbe des Cursors geändert werden. Es kann ausgewählt werden für welches Farbschema, welche Farbe gesetzt wird.

Zusätzlich kann die Farbe auch zurückgesetzt werden. Hierfür einfach auf die Farbe des gewünschten Schemas klicken.

Es wird ein neuer Menüpunkt unter Ansicht > Cursor-Farbe setzen… erzeugt.

Das Farbschema könnt ihr in den Einstellungen festlegen:

Vielen Dank an Nairolf für die Umsetzung. Ich hab nur die GUI dafür gebaut.

Man bemerke das schöne pinke Fadenkreuz  :w00t:

 

SetCursorColor (826 Downloads)

 

 

/*
 * SetCursorColor
 *
 * Cursor-Farbe je EPLAN-Farbscheme benutzerdefiniert setzen.
 *
 * ~~~~~~~~~~~~~~~~~ Changelog ~~~~~~~~~~~~~~~~~
 * 2011-07-18   Nairolf     Programmerstellung
 * 2011-08-07   Jonny Wire  Erweiterung um GUI
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/

using System;
using System.Drawing;
using System.Windows.Forms;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

public partial class frmSetCursorColor : System.Windows.Forms.Form
{
    #region Variable
    private ColorDialog cd;
    private Settings oSettings = new Settings();
    private Button btnReset;
    private PictureBox pbWhite;
    private PictureBox pbGray;
    private PictureBox pbBlack;
    private Label lblWhite;
    private Label lblGray;
    private Label lblBlack;
    private Button btnClose;
    private bool bColorChanged = false;
    private Color cSetting = new Color();
    #endregion

    # region Action
    [DeclareAction("SetCursorColor")]
    public void Function()
    {
        frmSetCursorColor fSetCursorColor = new frmSetCursorColor();
        fSetCursorColor.ShowDialog();

        return;
    }

    private void SetCursorSetting(string Schema)
    {
        // Set color to setting
        if (cd.ShowDialog() == DialogResult.OK)
        {
            oSettings.SetNumericSetting("USER.GedViewer.ColorSchema." + Schema + ".Cursor.Red", cd.Color.R, 0);
            oSettings.SetNumericSetting("USER.GedViewer.ColorSchema." + Schema + ".Cursor.Green", cd.Color.G, 0);
            oSettings.SetNumericSetting("USER.GedViewer.ColorSchema." + Schema + ".Cursor.Blue", cd.Color.B, 0);

            // Set color to preview
            switch (Schema)
            {
                case "White":
                    pbWhite.BackColor = cd.Color;
                    break;
                case "Gray":
                    pbGray.BackColor = cd.Color;
                    break;
                case "Black":
                    pbBlack.BackColor = cd.Color;
                    break;
            }

            bColorChanged = true;
        }
    }

    private void btnReset_Click(object sender, EventArgs e)
    {
        // Set default colors
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.White.Cursor.Red", 128, 0);
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.White.Cursor.Green", 128, 0);
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.White.Cursor.Blue", 128, 0);
        pbWhite.BackColor = Color.FromArgb(128, 128, 128);

        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.Gray.Cursor.Red", 192, 0);
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.Gray.Cursor.Green", 0, 0);
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.Gray.Cursor.Blue", 0, 0);
        pbGray.BackColor = Color.FromArgb(192, 0, 0);

        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.Black.Cursor.Red", 255, 0);
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.Black.Cursor.Green", 255, 0);
        oSettings.SetNumericSetting("USER.GedViewer.ColorSchema.Black.Cursor.Blue", 255, 0);
        pbBlack.BackColor = Color.FromArgb(255, 255, 255);

        bColorChanged = true;
    }

    private void pbWhite_Click(object sender, EventArgs e)
    {
        SetCursorSetting("White");
    }

    private void pbGray_Click(object sender, EventArgs e)
    {
        SetCursorSetting("Gray");
    }

    private void pbBlack_Click(object sender, EventArgs e)
    {
        SetCursorSetting("Black");
    }

    private void btnClose_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private void frmSetCursorColor_Load(object sender, EventArgs e)
    {
        // Load colors from settings
        // Wthite
        cSetting = Color.FromArgb(
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.White.Cursor.Red", 0),
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.White.Cursor.Green", 0),
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.White.Cursor.Blue", 0));
        pbWhite.BackColor = cSetting;
        // Gray
        cSetting = Color.FromArgb(
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.Gray.Cursor.Red", 0),
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.Gray.Cursor.Green", 0),
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.Gray.Cursor.Blue", 0));
        pbGray.BackColor = cSetting;
        // Black
        cSetting = Color.FromArgb(
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.Black.Cursor.Red", 0),
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.Black.Cursor.Green", 0),
            oSettings.GetNumericSetting("USER.GedViewer.ColorSchema.Black.Cursor.Blue", 0));
        pbBlack.BackColor = cSetting;
    }

    private void frmSetCursorColor_FormClosed(object sender, FormClosedEventArgs e)
    {
        // Check if color changed
        if (bColorChanged)
        {
            MessageBox.Show("Cursor-Farbschema geändert.\n"
            + "EPLAN muß neu gestartet werden damit die neue Einstellung übernommen wird.",
            "SetCursorColor", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
    #endregion

    #region Menü
    [DeclareMenu]
    public void MenuFunction()
    {
        Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();
        oMenu.AddMenuItem
            (
            "Cursor-Farbe setzen...",
            "SetCursorColor",
            "Cursor-Farbe für verschiedene Farbschema setzen",
            35178,
            1,
            false,
            false
            );
    }
    #endregion
}