示例#1
0
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.IconSelectWindow = ((KickOff.IconSelect)(target));
                return;

            case 2:
                this.scrollMainPanel = ((System.Windows.Controls.ScrollViewer)(target));
                return;

            case 3:
                this.MainIconPanel = ((System.Windows.Controls.WrapPanel)(target));
                return;
            }
            this._contentLoaded = true;
        }
示例#2
0
        private void MiSC_ChangeICO_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    mi = (MenuItem)sender;
            ContextMenu cm = (ContextMenu)mi.Parent;
            Shortcut    sc = cm.PlacementTarget as Shortcut;

            string[] iconsourcefiles = new string[] {
                // provide a path to the original icon
                sc.lnkData.ShortcutAddress,
                sc.lnkData.OriginalTargetPath,
                Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\shell32.dll"),
                Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\imageres.dll"),
                Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\DDORes.dll")
            };

            using (IconSelect iconSelector = new IconSelect()
            {
                Owner = this
            })
            {
                iconSelector.IconSelectSetIconSourcePaths(iconsourcefiles);

                // if the user selected something so the value is not false or null for retruned bool?
                if (true == iconSelector.ShowDialog())
                {
                    //var x = iconSelector.DialogResult;
                    sc.lnkData.IconIndex          = iconSelector.idxIcon;
                    sc.lnkData.IconSourceFilePath = iconsourcefiles[iconSelector.idxFile];

                    // set the new icon
                    IconBitMap ibm = null;
                    if (sc.lnkData.IconIndex != USE_MAIN_ICON)
                    {
                        ibm = ico2bmap.ExtractICO(sc.lnkData.IconSourceFilePath, sc.lnkData.IconIndex);
                    }
                    if (null == ibm)
                    {
                        ibm = ico2bmap.ExtractIconBitMap(System.Drawing.Icon.ExtractAssociatedIcon(sc.lnkData.IconSourceFilePath));
                    }
                    sc.Source = ibm.bitmapsource;
                    sc.Width  = ibm.BitmapSize;
                }
            }
        }
示例#3
0
        private void MiSC_ChangeICO_Click(object sender, RoutedEventArgs e)
        {
            MenuItem mi = (MenuItem)sender;
            ContextMenu cm = (ContextMenu)mi.Parent;
            Shortcut sc = cm.PlacementTarget as Shortcut;
            string[] iconsourcefiles = new string[] {
                // provide a path to the original icon
                sc.lnkData.ShortcutAddress,
                sc.lnkData.OriginalTargetPath,
                Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\shell32.dll"),
                Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\imageres.dll"),
                Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\DDORes.dll")
            };

            using (IconSelect iconSelector = new IconSelect() { Owner = this })
            {
                iconSelector.IconSelectSetIconSourcePaths(iconsourcefiles);

                // if the user selected something so the value is not false or null for retruned bool? 
                if (true == iconSelector.ShowDialog())
                {
                    //var x = iconSelector.DialogResult;
                    sc.lnkData.IconIndex = iconSelector.idxIcon;
                    sc.lnkData.IconSourceFilePath = iconsourcefiles[iconSelector.idxFile];

                    // set the new icon
                    IconBitMap ibm = null;
                    if (sc.lnkData.IconIndex != USE_MAIN_ICON)
                        ibm = ico2bmap.ExtractICO(sc.lnkData.IconSourceFilePath, sc.lnkData.IconIndex);
                    if (null == ibm)
                        ibm = ico2bmap.ExtractIconBitMap(System.Drawing.Icon.ExtractAssociatedIcon(sc.lnkData.IconSourceFilePath));
                    sc.Source = ibm.bitmapsource;
                    sc.Width = ibm.BitmapSize;
                }
            }
        }