Hrátky s barvami a pohybem objektů

Pro svoji potřebu jsem vytvořil skript v powershellu, který zobrazí okno a v něm barvy podle definovaných jmen. Je zde možnost si barvy ručně přesouvat pro lepší provnání barev mezi sebou. Ve skriptu je použito několik neběžných postupů. Snad to někomu pomůže. Skript lze stáhnout zde

Barvy1

void][System.Reflection.Assembly]::LoadWithPartialName(„System.Windows.Forms“)
[void][System.Reflection.Assembly]::LoadWithPartialName(„System.Drawing“)

# při nastavení proměnné $Debug na $true se budou vypisovat ladící informace
#$Debug=$true;
$Debug=$false;

$JmVyst = „C:\PSS\pokus.txt“; # nastavení jména a umístění logovacího souboru

# vytvoříme prázdný logovací soubor $JmVyst -použijeme jen v Debug režimu
if ($Debug) { echo “ > $JmVyst;}

#$TextHnedy1 = [System.Drawing.Color]::FromArgb(0xFF00744C)
$i=10
$PocetRadkuBarev=29;
$velikostPopisu = New-Object System.Drawing.Size(240, 18)

# velikost barevneho prouzku
#
$PodkladHnedy1 = [System.Drawing.Color]::FromArgb(0x7FF0D090)
$PodkladHnedy2 = [System.Drawing.Color]::FromArgb(0x70E0D0A0)

$script:Stisknuto = $false
$script:RelativneL = New-Object System.Drawing.Point(0, 0)

$mujFont = New-Object System.Drawing.Font(„Courier New“, 10, 0, 3, 0)

# pokud Stiskneme tlacitko nad barevným páskem – Label – zjistime souradnice mysi relativne uvnitr Label
function lblMouseDown($OBJ)
{
# nejprve absolutní hodnota na screenu
$curzor = [System.Windows.Forms.Cursor]::Position
# relativne k pasku
$script:RelativneL = $OBJ.PointToClient($curzor)
# $Labelx.Text = [string]$cursor.x
# $Labely.Text = [string]$cursor.y
# [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(0, 0)
$script:Stisknuto = $true # nastavime stav stisknuto
# – neumim to zjistit jinak

$OBJ.BringToFront() # dáme si náš pásek do popředí
}

function lblMouseUp { $script:Stisknuto = $false } # až uvolnime tlačítko – změníme status

# Pohyb myši
function lblMouseMove($OBJ)
{
# aktualní pozice
$curzor = [System.Windows.Forms.Cursor]::Position
# relativni pozice vzhledem k oknu formulaře – odečtený posun v rámci proužku
$RelativneF = $frmColor.PointToClient($curzor)-$script:RelativneL

if ($script:Stisknuto)
{
$OBJ.Location = $RelativneF # změníme pozici poroužku v okně
#- proužek se zobrazí na novém místě – hýbe se
}
}

# Ovládací rutina na srovnání ručně posunutých barevných proužků
function btnSrovnat_OnClick
{
$vx=[int]$VelikostPopisu.width

# nejprve si projedeme pole $lblColor a vypočítáme pořadí podle aktualních souřadnic jednotlivých proužků
for($i=0; $i -lt $lblColor.Count; $i++) {
$a=$lblColor[$i]
$x=($a.Location.x+$Vx+10)/$Vx ; $x=[math]::round($x) ;
$y = $a.Location.y
$poradi = $x*1000 + $y
# Vypočítané nové pořadí uloříme do pole xColor
$xColor[$i][3] = $poradi
# pro další účely si zapíšeme do logovacího souboru $JmVyst
if ($Debug) {
$mytmp=[string]$x +‚ | ‚+[string]$y +‚ | ‚+$xColor[$i][0] +‘ | ‚+$xColor[$i][1]+ ‚ | ‚ +[string]$xColor[$i][2]+ ‚ | ‚ + [string]$xColor[$i][3]
echo $mytmp >> $JmVyst
# $lblINFO.Text = $mytmp
} # If Debug
} # konec FOR lblColor

# Podle nového pořadí setřídíme pole xColor
$xColor = $xColor | Sort-Object @{ Expression = { $_[3] } ; Ascending = $true }

# —- provedeme nové přepsání podle setříděného pole xColor
$x = 10 ; $y = 10 ; # x,y souřadnice proužků
for($i=0;$i -lt $xColor.Count;$i++){
$a=$xColor[$i]
if ($Debug) {
# Zde si přepíšeme do logovacího souboru jednotlivé řádky, které lze použít pro ruční přepsání inicializace xColor v tomto skriptu
$radek = ‚$xColor += ‚ + „“;“ + ‚ $xColor[-1] = @(„‚ + $xColor[$i][0] + ‚“, „‚ + $xColor[$i][1] + ‚“,‘  + [string]$i + ‚,‘+[string]$xColor[$i][3]+‚);‘
echo $radek >> $JmVyst
}
#
# nastavíme proužku nové – normalizované – souřadnice
$lblColor[$a[2]].Location = New-Object System.Drawing.Point($x, $y)

if ($Debug) {
$Trideni=[string]$xColor[$i][3]
$lblColor[$a[2]].Text = $i.ToString().PadLeft(3) +‚ ‚+ $Trideni.Padleft(6)+‚ | ‚+ $a[1].Substring(4,6)+‚ ‚+$a[0]
}

$y += $velikostPopisu.Height; # posuneme na další řádek
if ((($i+1)%$PocetRadkuBarev) -eq 0) {$x += $velikostPopisu.Width ; $y = 10;} # po dosažení $PocetRadkuBarev pujdeme na další sloupec
}

#$frmColor.close();
# [System.Windows.Forms.Application]::Exit($null);

}

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$frmColor = New-Object System.Windows.Forms.Form
$frmColor.ClientSize = New-Object System.Drawing.Size(1224, 600)
$frmColor.font = $mujFont ; # Nastavíme pro okno $frmColor svůj font
$frmColor.Text = „Barvy“;

$xColor = @( );
# v této sekci naplníme pole xColor –
# [0] pojmenovanými barvami
# [1] popisem v
# [2] vazba na pole lblColor – naplněno později
# [3] vypočítané pořadí
# !!! pole se musí tak, že nejprve vytvoříme prázdnou buňku a do ní pak vložíme pole @, aby vzniklo dvojroměrné pole
# [-1] je poslední, právě přidaná, buňka pole
# $xColor += @(,.,…) provede vytvoření jednorozměrného pole – pěkná schiza
# tuto sekci můžeme přepsat odpovídajícím výstupem v logovacím souboru
#—————–
$xColor += “; $xColor[-1] = @(„Transparent“, „0x00FFFFFF“,0,1010);
$xColor += “; $xColor[-1] = @(„WhiteSmoke“, „0xFFF5F5F5“,1,1028);
$xColor += “; $xColor[-1] = @(„Gainsboro“, „0xFFDCDCDC“,2,1046);
$xColor += “; $xColor[-1] = @(„LightGray“, „0xFFD3D3D3“,3,1064);
$xColor += “; $xColor[-1] = @(„Silver“, „0xFFC0C0C0“,4,1082);
$xColor += “; $xColor[-1] = @(„DarkGray“, „0xFFA9A9A9“,5,1100);
$xColor += “; $xColor[-1] = @(„Gray“, „0xFF808080“,6,1118);
$xColor += “; $xColor[-1] = @(„DimGray“, „0xFF696969“,7,1136);
$xColor += “; $xColor[-1] = @(„Black“, „0xFF000000“,8,1154);
$xColor += “; $xColor[-1] = @(„DarkSlateGray“, „0xFF2F4F4F“,9,1172);
$xColor += “; $xColor[-1] = @(„SlateGray“, „0xFF708090“,10,1190);
$xColor += “; $xColor[-1] = @(„LightSlateGray“, „0xFF778899“,11,1208);
$xColor += “; $xColor[-1] = @(„DarkSlateBlue“, „0xFF483D8B“,12,1226);
$xColor += “; $xColor[-1] = @(„SlateBlue“, „0xFF6A5ACD“,13,1244);
$xColor += “; $xColor[-1] = @(„MediumSlateBlue“, „0xFF7B68EE“,14,1262);
$xColor += “; $xColor[-1] = @(„MediumPurple“, „0xFF9370DB“,15,1280);
$xColor += “; $xColor[-1] = @(„Magenta“, „0xFFFF00FF“,16,1298);
$xColor += “; $xColor[-1] = @(„Fuchsia“, „0xFFFF00FF“,17,1316);
$xColor += “; $xColor[-1] = @(„MediumVioletRed“, „0xFFC71585“,18,1334);
$xColor += “; $xColor[-1] = @(„DeepPink“, „0xFFFF1493“,19,1352);
$xColor += “; $xColor[-1] = @(„HotPink“, „0xFFFF69B4“,20,1370);
$xColor += “; $xColor[-1] = @(„Pink“, „0xFFFFC0CB“,21,1388);
$xColor += “; $xColor[-1] = @(„LightPink“, „0xFFFFB6C1“,22,1406);
$xColor += “; $xColor[-1] = @(„Thistle“, „0xFFD8BFD8“,23,1424);
$xColor += “; $xColor[-1] = @(„Plum“, „0xFFDDA0DD“,24,1442);
$xColor += “; $xColor[-1] = @(„Violet“, „0xFFEE82EE“,25,1460);
$xColor += “; $xColor[-1] = @(„Orchid“, „0xFFDA70D6“,26,1478);
$xColor += “; $xColor[-1] = @(„MediumOrchid“, „0xFFBA55D3“,27,1496);
$xColor += “; $xColor[-1] = @(„DarkOrchid“, „0xFF9932CC“,28,1514);
$xColor += “; $xColor[-1] = @(„BlueViolet“, „0xFF8A2BE2“,29,2010);
$xColor += “; $xColor[-1] = @(„DarkViolet“, „0xFF9400D3“,30,2028);
$xColor += “; $xColor[-1] = @(„DarkMagenta“, „0xFF8B008B“,31,2046);
$xColor += “; $xColor[-1] = @(„Purple“, „0xFF800080“,32,2064);
$xColor += “; $xColor[-1] = @(„Indigo“, „0xFF4B0082“,33,2082);
$xColor += “; $xColor[-1] = @(„MidnightBlue“, „0xFF191970“,34,2100);
$xColor += “; $xColor[-1] = @(„DarkBlue“, „0xFF00008B“,35,2118);
$xColor += “; $xColor[-1] = @(„Navy“, „0xFF000080“,36,2136);
$xColor += “; $xColor[-1] = @(„MediumBlue“, „0xFF0000CD“,37,2154);
$xColor += “; $xColor[-1] = @(„Blue“, „0xFF0000FF“,38,2172);
$xColor += “; $xColor[-1] = @(„RoyalBlue“, „0xFF4169E1“,39,2190);
$xColor += “; $xColor[-1] = @(„SteelBlue“, „0xFF4682B4“,40,2208);
$xColor += “; $xColor[-1] = @(„CornflowerBlue“, „0xFF6495ED“,41,2226);
$xColor += “; $xColor[-1] = @(„DodgerBlue“, „0xFF1E90FF“,42,2244);
$xColor += “; $xColor[-1] = @(„DeepSkyBlue“, „0xFF00BFFF“,43,2262);
$xColor += “; $xColor[-1] = @(„DarkTurquoise“, „0xFF00CED1“,44,2280);
$xColor += “; $xColor[-1] = @(„MediumTurquoise“, „0xFF48D1CC“,45,2298);
$xColor += “; $xColor[-1] = @(„Turquoise“, „0xFF40E0D0“,46,2316);
$xColor += “; $xColor[-1] = @(„Cyan“, „0xFF00FFFF“,47,2334);
$xColor += “; $xColor[-1] = @(„Aqua“, „0xFF00FFFF“,48,2352);
$xColor += “; $xColor[-1] = @(„Aquamarine“, „0xFF7FFFD4“,49,2365);
$xColor += “; $xColor[-1] = @(„SkyBlue“, „0xFF87CEEB“,50,2370);
$xColor += “; $xColor[-1] = @(„LightSkyBlue“, „0xFF87CEFA“,51,2388);
$xColor += “; $xColor[-1] = @(„LightSteelBlue“, „0xFFB0C4DE“,52,2406);
$xColor += “; $xColor[-1] = @(„LightBlue“, „0xFFADD8E6“,53,2424);
$xColor += “; $xColor[-1] = @(„PowderBlue“, „0xFFB0E0E6“,54,2442);
$xColor += “; $xColor[-1] = @(„PaleTurquoise“, „0xFFAFEEEE“,55,2460);
$xColor += “; $xColor[-1] = @(„Lavender“, „0xFFE6E6FA“,56,2478);
$xColor += “; $xColor[-1] = @(„LightCyan“, „0xFFE0FFFF“,57,2496);
$xColor += “; $xColor[-1] = @(„Azure“, „0xFFF0FFFF“,58,2514);
$xColor += “; $xColor[-1] = @(„AliceBlue“, „0xFFF0F8FF“,59,3010);
$xColor += “; $xColor[-1] = @(„LightSeaGreen“, „0xFF20B2AA“,60,3028);
$xColor += “; $xColor[-1] = @(„CadetBlue“, „0xFF5F9EA0“,61,3046);
$xColor += “; $xColor[-1] = @(„DarkCyan“, „0xFF008B8B“,62,3064);
$xColor += “; $xColor[-1] = @(„Teal“, „0xFF008080“,63,3082);
$xColor += “; $xColor[-1] = @(„MediumAquamarine“, „0xFF66CDAA“,64,3100);
$xColor += “; $xColor[-1] = @(„MediumSpringGreen“, „0xFF00FA9A“,65,3136);
$xColor += “; $xColor[-1] = @(„SpringGreen“, „0xFF00FF7F“,66,3154);
$xColor += “; $xColor[-1] = @(„DarkSeaGreen“, „0xFF8FBC8F“,67,3172);
$xColor += “; $xColor[-1] = @(„LightGreen“, „0xFF90EE90“,68,3190);
$xColor += “; $xColor[-1] = @(„PaleGreen“, „0xFF98FB98“,69,3208);
$xColor += “; $xColor[-1] = @(„MediumSeaGreen“, „0xFF3CB371“,70,3226);
$xColor += “; $xColor[-1] = @(„SeaGreen“, „0xFF2E8B57“,71,3244);
$xColor += “; $xColor[-1] = @(„DarkGreen“, „0xFF006400“,72,3262);
$xColor += “; $xColor[-1] = @(„Green“, „0xFF7f6042“,73,3280);
$xColor += “; $xColor[-1] = @(„ForestGreen“, „0xFF228B22“,74,3298);
$xColor += “; $xColor[-1] = @(„LimeGreen“, „0xFF32CD32“,75,3316);
$xColor += “; $xColor[-1] = @(„Lime“, „0xFF00FF00“,76,3334);
$xColor += “; $xColor[-1] = @(„LawnGreen“, „0xFF7CFC00“,77,3352);
$xColor += “; $xColor[-1] = @(„Chartreuse“, „0xFF7FFF00“,78,3370);
$xColor += “; $xColor[-1] = @(„YellowGreen“, „0xFF9ACD32“,79,3388);
$xColor += “; $xColor[-1] = @(„GreenYellow“, „0xFFADFF2F“,80,3406);
$xColor += “; $xColor[-1] = @(„DarkOliveGreen“, „0xFF556B2F“,81,3424);
$xColor += “; $xColor[-1] = @(„OliveDrab“, „0xFF6B8E23“,82,3442);
$xColor += “; $xColor[-1] = @(„Olive“, „0xFF808000“,83,3460);
$xColor += “; $xColor[-1] = @(„DarkKhaki“, „0xFFBDB76B“,84,3478);
$xColor += “; $xColor[-1] = @(„Khaki“, „0xFFF0E68C“,85,3496);
$xColor += “; $xColor[-1] = @(„PaleGoldenrod“, „0xFFEEE8AA“,86,3514);
$xColor += “; $xColor[-1] = @(„Yellow“, „0xFFFFFF00“,87,4010);
$xColor += “; $xColor[-1] = @(„Gold“, „0xFFFFD700“,88,4028);
$xColor += “; $xColor[-1] = @(„Goldenrod“, „0xFFDAA520“,89,4046);
$xColor += “; $xColor[-1] = @(„DarkGoldenrod“, „0xFFB8860B“,90,4064);
$xColor += “; $xColor[-1] = @(„SaddleBrown“, „0xFF8B4513“,91,4082);
$xColor += “; $xColor[-1] = @(„Sienna“, „0xFFA0522D“,92,4100);
$xColor += “; $xColor[-1] = @(„Tan“, „0xFFD2B48C“,93,4118);
$xColor += “; $xColor[-1] = @(„BurlyWood“, „0xFFDEB887“,94,4136);
$xColor += “; $xColor[-1] = @(„NavajoWhite“, „0xFFFFDEAD“,95,4154);
$xColor += “; $xColor[-1] = @(„Moccasin“, „0xFFFFE4B5“,96,4172);
$xColor += “; $xColor[-1] = @(„Wheat“, „0xFFF5DEB3“,97,4190);
$xColor += “; $xColor[-1] = @(„Bisque“, „0xFFFFE4C4“,98,4208);
$xColor += “; $xColor[-1] = @(„PeachPuff“, „0xFFFFDAB9“,99,4226);
$xColor += “; $xColor[-1] = @(„LemonChiffon“, „0xFFFFFACD“,100,4244);
$xColor += “; $xColor[-1] = @(„LightGoldenrodYellow“, „0xFFFAFAD2“,101,4262);
$xColor += “; $xColor[-1] = @(„BlanchedAlmond“, „0xFFFFEBCD“,102,4280);
$xColor += “; $xColor[-1] = @(„AntiqueWhite“, „0xFFFAEBD7“,103,4298);
$xColor += “; $xColor[-1] = @(„Cornsilk“, „0xFFFFF8DC“,104,4316);
$xColor += “; $xColor[-1] = @(„Beige“, „0xFFF5F5DC“,105,4334);
$xColor += “; $xColor[-1] = @(„PapayaWhip“, „0xFFFFEFD5“,106,4352);
$xColor += “; $xColor[-1] = @(„SeaShell“, „0xFFFFF5EE“,107,4370);
$xColor += “; $xColor[-1] = @(„FloralWhite“, „0xFFFFFAF0“,108,4388);
$xColor += “; $xColor[-1] = @(„OldLace“, „0xFFFDF5E6“,109,4406);
$xColor += “; $xColor[-1] = @(„Linen“, „0xFFFAF0E6“,110,4424);
$xColor += “; $xColor[-1] = @(„Snow“, „0xFFFFFAFA“,111,4442);
$xColor += “; $xColor[-1] = @(„LightYellow“, „0xFFFFFFE0“,112,4460);
$xColor += “; $xColor[-1] = @(„Ivory“, „0xFFFFFFF0“,113,4478);
$xColor += “; $xColor[-1] = @(„GhostWhite“, „0xFFF8F8FF“,114,4496);
$xColor += “; $xColor[-1] = @(„Honeydew“, „0xFFF0FFF0“,115,4514);
$xColor += “; $xColor[-1] = @(„MintCream“, „0xFFF5FFFA“,116,5010);
$xColor += “; $xColor[-1] = @(„White“, „0xFFFFFFFF“,117,5028);
$xColor += “; $xColor[-1] = @(„MistyRose“, „0xFFFFE4E1“,118,5046);
$xColor += “; $xColor[-1] = @(„LavenderBlush“, „0xFFFFF0F5“,119,5064);
$xColor += “; $xColor[-1] = @(„RosyBrown“, „0xFFBC8F8F“,120,5082);
$xColor += “; $xColor[-1] = @(„PaleVioletRed“, „0xFFDB7093“,121,5100);
$xColor += “; $xColor[-1] = @(„IndianRed“, „0xFFCD5C5C“,122,5118);
$xColor += “; $xColor[-1] = @(„Salmon“, „0xFFFA8072“,123,5136);
$xColor += “; $xColor[-1] = @(„LightSalmon“, „0xFFFFA07A“,124,5154);
$xColor += “; $xColor[-1] = @(„LightCoral“, „0xFFF08080“,125,5172);
$xColor += “; $xColor[-1] = @(„DarkSalmon“, „0xFFE9967A“,126,5190);
$xColor += “; $xColor[-1] = @(„Coral“, „0xFFFF7F50“,127,5208);
$xColor += “; $xColor[-1] = @(„Tomato“, „0xFFFF6347“,128,5226);
$xColor += “; $xColor[-1] = @(„DarkOrange“, „0xFFFF8C00“,129,5244);
$xColor += “; $xColor[-1] = @(„Orange“, „0xFFFFA500“,130,5262);
$xColor += “; $xColor[-1] = @(„SandyBrown“, „0xFFF4A460“,131,5280);
$xColor += “; $xColor[-1] = @(„Peru“, „0xFFCD853F“,132,5298);
$xColor += “; $xColor[-1] = @(„Chocolate“, „0xFFD2691E“,133,5316);
$xColor += “; $xColor[-1] = @(„OrangeRed“, „0xFFFF4500“,134,5334);
$xColor += “; $xColor[-1] = @(„Brown“, „0xFFA52A2A“,135,5352);
$xColor += “; $xColor[-1] = @(„Firebrick“, „0xFFB22222“,136,5370);
$xColor += “; $xColor[-1] = @(„Maroon“, „0xFF800000“,137,5388);
$xColor += “; $xColor[-1] = @(„DarkRed“, „0xFF8B0000“,138,5406);
$xColor += “; $xColor[-1] = @(„Red“, „0xFFFF0000“,139,5424);
$xColor += “; $xColor[-1] = @(„Crimson“, „0xFFDC143C“,140,5442);
#—————–

$x = 10 ; $y = 10 ;
# setřídíme pole xColor podle čtvrté buňky tj [3], začínáme nulou
$xColor = $xColor | Sort-Object @{ Expression = { $_[3] } ; Ascending = $true }

# pole lblColor bude uchovávat vlastní objekty label
$lblColor = @( );

#~ ~ < lblColor1 > ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
#foreach ($bColor in $xColor) # raději jsem volil cyklus FOR – vím přesně, který prvek pole zpracovávám
for ($i=0;$i -lt $xColor.Count; $i++)
{
$bColor=$xColor[$i]; # jeden prvek pole xColor, z kterého si budeme brát odpovídající parametry
$lblColor += “ ;
$lblColor[$i] = New-Object System.Windows.Forms.Label
$lblColor[$i].Location = New-Object System.Drawing.Point($x, $y)
$lblColor[$i].Size = $velikostPopisu
$lblColor[$i].TabIndex = $i;
# zobrazovaný text na proužku
if ($Debug) {
$Trideni=[string]$bcolor[3]
$lblColor[$i].Text = $i.Tostring().PadLeft(3) +‘ ‚+ $Trideni.Padleft(6)+‘ | ‚+ $bcolor[1].Substring(4,6)+‘ ‚+$bcolor[0]
} else {
$lblColor[$i].Text = $bcolor[1].Substring(4,6)+‘ ‚+$bcolor[0]
}

# zobrazovaná barva
$lblColor[$i].BackColor = [System.Drawing.Color]::FromName($bcolor[0])

# jednotlivé složky Barvy 0xA-R-G-B-)
$bA = [int](‚0x‘ + $bcolor[1].Substring(2,2) )
$bR = [int](‚0x‘ + $bcolor[1].Substring(4,2) )
$bG = [int](‚0x‘ + $bcolor[1].Substring(6,2) )
$bB = [int](‚0x‘ + $bcolor[1].Substring(8,2) )
$bRGB = [int]( ‚0x‘ + $bcolor[1].Substring(4,6) )

$bSuma = ($bB + $bG + $bR) # pro určení světlosti – pisma na proužku
$y += $velikostPopisu.Height ;
# barva buď černá nebo bílá
if ($bSuma -lt 300) { $lblColor[-1].ForeColor = [System.Drawing.Color]::white }
else { $lblColor[-1].ForeColor = [System.Drawing.Color]::black }
if ((($i+1)%$PocetRadkuBarev) -eq 0) {$x += 240 ; $y = 10;} # kreslit na další sloupec

# ulozime vazbu mezi lblColor a xColor – pro případné překreslování tlačítkem Setrid
$xColor[$i][2]=$i
# a tady je to potřebné navázání pro pohyb proužku – LABELu Add_XXXXX, kde XXXXX je potřebná událost a následně rutina, která ji obslouží
# $this je aktualní objekt tj $lblColor[$i],
# pokud bychom napsali např { lblMouseDown $lblColor[$i] }, pak se bude používat nasposledy zpracovaný objekt pro všechna volání na všech objektech (Labelech)
# $lblColor[5].Add_MouseDown({ lblMouseDown $lblColor[5] }) už bude správně používat odpovídající objekt

$lblColor[$i].Add_MouseDown({ lblMouseDown $this })
$lblColor[$i].Add_MouseUp({ lblMouseUp })
$lblColor[$i].Add_MouseMove({ lblMouseMove $this })

$frmColor.Controls.Add($lblColor[$i])
}

# Teď přidáme tlačítko, které vyvolá nové seřazení
$x=10; $y= ($velikostPopisu.Height*$pocetRadkuBarev)+10 ;
$btnSrovnat = New-Object System.Windows.Forms.Button
$btnSrovnat.Location = New-Object System.Drawing.Point($x, $y)
$btnSrovnat.Size = New-Object System.Drawing.Size(135, 53)
$btnSrovnat.TabIndex = 0
$btnSrovnat.Text = „Srovnat“
$btnSrovnat.UseVisualStyleBackColor = $true
$btnSrovnat.add_Click({btnSrovnat_OnClick})
$frmColor.Controls.Add($btnSrovnat)

$lblINFO = New-Object System.Windows.Forms.Label
if ($debug) {
$Radek=‘ x=’+$x.ToString()+‘ y=’+$y.ToString()   + ‚  VelkostPopisu=‘ +$velikostPopisu.Height.ToString()+ ‚ pocetR=’+$pocetRadkuBarev.ToString()
} else {    $Radek=“
}
$lblINFO.Text = $Radek;
$lblINFO.Size = New-Object System.Drawing.Size(400, 80)
$lblINFO.Location = New-Object System.Drawing.Point(200, 550)
$frmColor.Controls.Add($lblINFO)

function Main
{
[System.Windows.Forms.Application]::EnableVisualStyles()
[System.Windows.Forms.Application]::Run($frmColor)
}

Main # This call must remain below all other event functions

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *