跳轉到主要內容
為方便說明,假設在元素(以及其任何父 Group 元素)的 Properties 面板上都沒有設定任何搜尋區域約束。在這種情況下,在程式套用 Search Conditions 區段中的約束之前,元素的搜尋區域會與頁面矩形重合。若該區段中沒有額外的約束,程式會在整個頁面上尋找該元素。 套用上文 Search Constraints 中所述的第 1、2 與 4 類型約束,會建立由一組矩形陣列所構成的搜尋區域。程式會將搜尋區域視為一個外接於整個陣列的矩形,並從中排除一組指定的矩形(被排除的矩形)。 套用上文 Search Constraints 中所述的第 3 類型搜尋約束,會為每個假設的邊界(左、右、上及下)建立允許座標的範圍。每個邊界都以對應座標軸上的座標範圍來表示,例如 [x1, x2] 或 [y1, y2]。其中 x1 和 x2 的型別為 XCoordinate,y1 和 y2 的型別為 YCoordinate。此軸上的區段必須符合下列條件:對於 X 座標為 x1 <= x2,對於 Y 座標則為 y1 <= y2 如果對同一邊界連續套用多個約束,每個約束都會改變該邊界允許座標的範圍。 假設 Search Condition 區段包含以下約束:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
假設在套用上述約束之前,搜尋區域與頁面的矩形重合,即 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]。則元素邊界的座標範圍將會是: 假設在執行這些約束之前,尚未指定搜尋區域。則在單頁 FlexiLayout(文件中允許的最小與最大頁數皆為 1)的情況下,搜尋區域與頁面的矩形重合,即 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]。在多頁 FlexiLayout 的情況下,搜尋區域的最大尺寸為 [-INF, -INF, INF, INF]。元素邊界的座標範圍如下:
BoundaryRange for one-page FlexiLayoutRange for multi-page FlexiLayout
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
當約束 LeftBound > 5mm 被執行時,只有左邊界會改變。其可能值的範圍,對於單頁 FlexiLayout 會變為區段 [5mm, PageRect.Right],對於多頁 FlexiLayout 則為區段 [5mm, INF] 在套用 LeftBound > 5mm 約束之後,只有左邊界會改變,其允許的座標將會是 [5mm, PageRect.Right] 在套用 LeftBound < 15mm 約束之後,左邊界允許座標的範圍將會是 [5mm, 15mm] 在套用 LeftBound < 10mm 約束之後,左邊界允許座標的範圍將會是 [5mm, 10mm] 同樣地,也可以為元素的其他邊界設定約束。 搜尋區域的指定邊界會構成所謂的 fuzzy rectangle