Solidworks Property Manager页面 - 同一行上的2个按钮

问题描述 投票:2回答:1

我正在构建自己的Solidworks Addin,在构建它时遇到了一个困难。

有人知道如何在Property Manager页面中并排创建2个按钮吗?我尝试了swPropertyManagerPageControlLeftAlign_e枚举的不同可能性,但没有任何成功。

我的想法是希望人们从配置列表中选择他们希望服务器进行处理的每个配置。因此,我创建了4个按钮(SelectAll / SelectHighlighted / DeSelectHighlighted / DeSelectAll)来帮助用户进行选择。

这就是目前的样子:

PMP

                //Ajout Controls Group_Configs
            lst_Configs_All = Group_Configs.AddControl2(lst_Configs_All_ID, (int)swPropertyManagerPageControlType_e.swControlType_Listbox, "Configurations", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Liste des configurations du modèle actif");
            lst_Configs_All.Height = 180;
            lst_Configs_All.Style = (int)swPropMgrPageListBoxStyle_e.swPropMgrPageListBoxStyle_NoIntegralHeight;

            BitmapHandler iBmp = new BitmapHandler();
            string BitmapFileName = iBmp.CreateFileFromResourceBitmap("Willy.Controller.Template.btnConfigs.bmp", System.Reflection.Assembly.GetAssembly(this.GetType()));


            // string BitmapFileName = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)); //& "\" & _SwAddin.BitMapsFolder & "Select2.bmp"

            btn_Configs_SelectAll = Group_Configs.AddControl2(btn_Configs_SelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Tout Sélectionner", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Sélectionner toutes les configurations");
            btn_Configs_SelectAll.SetBitmapsByName3(BitmapFileName, "");

            btn_Configs_Select = Group_Configs.AddControl2(btn_Configs_Select_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Sélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Sélectionner les configuration surlignées");
            btn_Configs_Select.SetBitmapsByName3(BitmapFileName, "");

            btn_Configs_DeSelect = Group_Configs.AddControl2(btn_Configs_DeSelect_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Désélectionner les configuration surlignées");
            btn_Configs_DeSelect.SetBitmapsByName3(BitmapFileName, "");

            btn_Configs_DeSelectAll = Group_Configs.AddControl2(btn_Configs_DeSelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner toutes les configuration", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Désélectionner toutes les configuration");
            btn_Configs_DeSelectAll.SetBitmapsByName3(BitmapFileName, "");

            lst_Configs_ToDo = Group_Configs.AddControl2(lst_Configs_ToDo_ID, (int)swPropertyManagerPageControlType_e.swControlType_Listbox, "Configurations", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Liste des configurations à générer");
            lst_Configs_ToDo.Height = 180;
            lst_Configs_ToDo.Style = (int)swPropMgrPageListBoxStyle_e.swPropMgrPageListBoxStyle_NoIntegralHeight;
visual-studio api add-in solidworks
1个回答
0
投票

好吧,我想经过一些研究后,我找到了一种方法来解决这个问题。

Source

您需要将BitmapButton转换为它的父对象(PropertyManagerPageControl)以访问Top和Left属性。然后,您可以将像素设置为您需要的任何值。

编辑:这是我经理要做的事情。我也包括代码。

Visual

            btn_Configs_SelectAll = Group_Configs.AddControl2(btn_Configs_SelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Tout Sélectionner", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Sélectionner toutes les configurations");
        string[] imageList = new string[1];
        imageList[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_SelectAll.bmp";
        btn_Configs_SelectAll.SetBitmapsByName3(imageList, imageList);
        ((PropertyManagerPageControl)btn_Configs_SelectAll).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_SelectAll).Left = 0;

        btn_Configs_Select = Group_Configs.AddControl2(btn_Configs_Select_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Sélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Sélectionner les configuration surlignées");
        string[] imageList2 = new string[1];
        imageList2[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_Select.bmp";
        btn_Configs_Select.SetBitmapsByName3(imageList2, imageList2);
        ((PropertyManagerPageControl)btn_Configs_Select).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_Select).Left = 30;

        btn_Configs_DeSelect = Group_Configs.AddControl2(btn_Configs_DeSelect_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Désélectionner les configuration surlignées");
        string[] imageList3 = new string[1];
        imageList3[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_DeSelect.bmp";
        btn_Configs_DeSelect.SetBitmapsByName3(imageList3, imageList3);
        ((PropertyManagerPageControl)btn_Configs_DeSelect).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_DeSelect).Left = 60;

        btn_Configs_DeSelectAll = Group_Configs.AddControl2(btn_Configs_DeSelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner toutes les configuration", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Désélectionner toutes les configuration");
        string[] imageList4 = new string[1];
        imageList4[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_DeSelectAll.bmp";
        btn_Configs_DeSelectAll.SetBitmapsByName3(imageList4, imageList4);
        ((PropertyManagerPageControl)btn_Configs_DeSelectAll).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_DeSelectAll).Left = 90;
© www.soinside.com 2019 - 2024. All rights reserved.