SetCursorColor
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

SetCursorColor (71)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | /* * 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 } |


:biggrin:
super Sache, ich hab das gleich mal ausprobiert und musste feststellen das sich meine Cursorfarbe leider nicht ändert
ich habe das skript in 2.0 geladen, unter Ansicht ist auch der Eintrag Cursorfarbe vorhanden und die GUI wird mir auch angezeigt, aber egal was ich hier für Farben einstelle meine cursorfarbe bleibt immer blau
ich hatte vorher das Skript von Frank probiert http://ww3.cad.de/foren/ubb/Forum467/HTML/004796.shtml kann es sein das hierdurch das andere irgendwie blockiert wird??
obwohl mir unter Dienstprogramme –> Scripte nicht angezeigt wird
Gruß
Marco