SAP B1创建颜色选择器

2020-08-19 18:12发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想在SAP业务之一中开发一种新的选择器来选择颜色代码。 可以在SBO中注册新的选择器吗?

应该使用哪个类? 有样品吗?

任何帮助表示赞赏。

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想在SAP业务之一中开发一种新的选择器来选择颜色代码。 可以在SBO中注册新的选择器吗?

应该使用哪个类? 有样品吗?

任何帮助表示赞赏。

谢谢

付费偷看设置
发送
2条回答
95年老男孩
1楼-- · 2020-08-19 18:46

您应该使用以下内容。

代码:

使用系统;
 使用System.Drawing;
 使用System.Runtime.InteropServices;
 使用System.Windows.Forms;
 
 命名空间DialogHelper
 {
 
     公共静态类WindowsDialogHelper
     {
         公共静态int ColorDialog()
         {
             var colorSelector = new ColorDialog();
 
             var result = new STAInvoker (colorSelector,(x)=> x.ShowDialog(ForegroundWindowWrapper.GetWindow()))。Invoke();
 
 
             如果(结果!= DialogResult.OK)
                 返回-1;
 
             返回ColorTranslator.ToOle(colorSelector.Color);
         }
     }
    
     内部类ForegroundWindowWrapper:IWin32Window
     {
         [DllImport(" user32.dll")]
         私有静态外部IntPtr GetForegroundWindow();
 
         公共虚拟IntPtr句柄{ 组;  }
 
         公共ForegroundWindowWrapper(IntPtr句柄)
         {
             this.Handle =句柄;
         }
 
         公共静态ForegroundWindowWrapper GetWindow()
         {
             返回新的ForegroundWindowWrapper(GetForegroundWindow());
         }
     }
 } 

用法

私有无效Button0_ClickBefore(对象sboObject,SAPbouiCOM.SBOItemEventArg pVal,布尔泡泡事件)
 {
     BubbleEvent = true;
     int Color = WindowsDialogHelper.ColorDialog();
     如果(颜色!= -1)
     {
         this.UIAPIRawForm.Items.Item(" Item_1")。BackColor =颜色;
         this.UIAPIRawForm.Items.Item(" Item_2")。BackColor =颜色;
         this.UIAPIRawForm.Items.Item(" Item_4")。BackColor =颜色;
         this.UIAPIRawForm.Update();
     }
 } 

测试İmage

祝你好运。

能不能别闹
2楼-- · 2020-08-19 18:44

感谢您的回复。

我想在许多系统表单(例如BOM和物料数据主数据)上使用此选择器。

您对如何使其更具可移植性并将其作为UDF添加到系统表单有何建议?

谢谢

一周热门 更多>