Ver código fonte

蘭雅CPG福利群版2024.8.8

蘭雅sRGB 6 meses atrás
pai
commit
d7d0528a7e

+ 1 - 1
08_SmartGroup/ToolsBox.cpp

@@ -203,7 +203,7 @@ INT_PTR CALLBACK ToolsBoxPlugin::DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LP
             case IDC_RED :
                 Box_AutoGroup(cdr);
 
-                MessageBox(NULL, "方框智能群组:Union-Find 算法\n 分组记录请查看: D:\\group.txt", "CPG代码测试", MB_ICONSTOP);
+            //    MessageBox(NULL, "方框智能群组:Union-Find 算法\n 分组记录请查看: D:\\group.txt", "CPG代码测试", MB_ICONSTOP);
                 Active_CorelWindows(hDlg);
                 break;
 

+ 10 - 13
08_SmartGroup/ToolsBox.rc

@@ -14,27 +14,24 @@
 // Bitmap resources
 //
 LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-IDB_BITMAP1        BITMAP         ".\\cpg.bmp"
-
 
 
 //
 // Dialog resources
 //
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-IDD_TOOLS_BOX DIALOGEX 0, 0, 136, 226
+IDD_TOOLS_BOX DIALOGEX 0, 0, 136, 125
 STYLE DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_POPUP | WS_SYSMENU
-CAPTION "Tools Box"
+CAPTION "蘭雅 CPG 插件 福利群版"
 FONT 8, "MS Shell Dlg", 400, 0, 1
 {
-    LTEXT           "蘭雅 CorelDRAW CPG 插件 2024.8.8 智能群组版", 0, 18, 120, 97, 18, SS_LEFT, WS_EX_LEFT
-    CONTROL         IDB_BITMAP1, 0, WC_STATIC, SS_BITMAP, 1, 149, 133, 75, WS_EX_LEFT
-    PUSHBUTTON      "方框智能群组", IDC_RED, 73, 3, 59, 24, 0, WS_EX_LEFT
+    CTEXT           "蘭雅 CorelDRAW CPG 插件 2024.8.8 智能群组版", 0, 21, 105, 94, 17, SS_CENTER, WS_EX_LEFT
+    PUSHBUTTON      "方框智能群组", IDC_RED, 73, 2, 59, 24, 0, WS_EX_LEFT
     PUSHBUTTON      "CQL轮廓色相同", IDC_CQL_OUTLINE, 5, 2, 59, 24, 0, WS_EX_LEFT
-    PUSHBUTTON      "无填色", IDC_CLEAR_FILL, 73, 30, 59, 24, 0, WS_EX_LEFT
-    PUSHBUTTON      "批量镜像", IDC_SR_FLIP, 73, 58, 59, 24, 0, WS_EX_LEFT
-    PUSHBUTTON      "CQL颜色相同", IDC_CQL_FILL, 5, 30, 59, 24, 0, WS_EX_LEFT
-    PUSHBUTTON      "CQL尺寸相同", IDC_CQL_SIZE, 5, 58, 59, 24, 0, WS_EX_LEFT
-    PUSHBUTTON      "CDR复制到AI", IDC_CDR2AI, 5, 86, 59, 24, 0, WS_EX_LEFT
-    PUSHBUTTON      "AI粘贴到CDR", IDC_AI2CDR, 73, 86, 59, 24, 0, WS_EX_LEFT
+    PUSHBUTTON      "无填色", IDC_CLEAR_FILL, 73, 26, 59, 24, 0, WS_EX_LEFT
+    PUSHBUTTON      "批量镜像", IDC_SR_FLIP, 73, 52, 59, 24, 0, WS_EX_LEFT
+    PUSHBUTTON      "CQL颜色相同", IDC_CQL_FILL, 5, 26, 59, 24, 0, WS_EX_LEFT
+    PUSHBUTTON      "CQL尺寸相同", IDC_CQL_SIZE, 5, 52, 59, 24, 0, WS_EX_LEFT
+    PUSHBUTTON      "CDR复制到AI", IDC_CDR2AI, 6, 78, 59, 24, 0, WS_EX_LEFT
+    PUSHBUTTON      "AI粘贴到CDR", IDC_AI2CDR, 74, 78, 59, 24, 0, WS_EX_LEFT
 }

+ 8 - 3
08_SmartGroup/boxAutoGroup.cpp

@@ -124,6 +124,7 @@ bool Box_AutoGroup(corel *cdr) {
   }
 
   auto srgp = cdr->CreateShapeRange();
+  auto srs = cdr->CreateShapeRange();
 
   cdr->ActiveDocument->ClearSelection();
 // 原来 没有取消选择 最初速度
@@ -146,13 +147,17 @@ bool Box_AutoGroup(corel *cdr) {
 
   // 分组分别进行群组
   for (const auto& group : groups) {
-      for (int index : group.second) {
+      for (int index : group.second) 
         srgp->Add(sr->Shapes->Item[index]);
-      }
+      
       if(sr->Count >1)
-        srgp->Group();      
+        srs->Add(srgp->Group());
+      else
+        srs->AddRange(srgp);  
+
       srgp->RemoveAll();
   }
+  srs->CreateSelection();
   EndOpt(cdr);
   return true;
 }

BIN
08_SmartGroup/cpg.bmp


+ 0 - 1
08_SmartGroup/resource.h

@@ -3,7 +3,6 @@
 #endif
 
 #define IDD_TOOLS_BOX                           100
-#define IDB_BITMAP1                             101
 #define IDC_RED                                 40000
 #define IDC_CQL_FILL                            40001
 #define IDC_CQL_OUTLINE                         40002