精華區beta mud_sanc 關於我們 聯絡資訊
【 WindowRectOp 】 格式: long WindowRectOp(BSTR Name, short Action, long Left, long Top, long Right, long Bottom, long Colour1, long Colour2) 中文: long WindowRectOp(迷你視窗名稱, 動作, 左端, 上端, 右端, 下端, 顏色1, 顏色2) 說明:繪製一個矩形邊框,它有相當多的常數可搭配,尤其當動作這個參數 是5的時候,但要畫得好看不太容易。 動作常數: 說明 Lua標記 1 由色彩1的單象素寬線條繪製的框架   miniwin.rect_frame 2 由色彩1填充的實心矩形        miniwin.rect_fill 3 反轉矩形 - 矩形顏色與迷你視窗底色相反 miniwin.rect_invert 4 用兩種色彩繪製單象素線條框架 (色彩1為  上線和左線顏色,色彩2為底線和右線顏色  )                miniwin.rect_3d_rect 5 繪製邊緣(繪製一個可填充的邊框) miniwin.rect_draw_edge 6 填滿邊框,不知用法 miniwin.rect_flood_fill_border 7 填滿面,不知用法 miniwin.rect_flood_fill_surface └─┴───────────────────┴────────────────┘ 色彩1可用常數,用來繪製矩形(或填充)。對於動作5(miniwin.rect_draw_edge) ,必須是: 說明 Lua標記 5 凸起 miniwin.rect_edge_raised 6 蝕刻 miniwin.rect_edge_etched 9 浮起 miniwin.rect_edge_bump 10下沉 miniwin.rect_edge_sunken └─┴────┴────────────────┘ 色彩2可用常數,在動作4 (miniwin.rect_3d_rect) 繪製左側和下側邊緣, 在動作5(miniwin.rect_draw_edge),必須是: 說明 Lua標記 3 左上 miniwin.rect_edge_at_top_left 6 右上 miniwin.rect_edge_at_top_right 9 左下 miniwin.rect_edge_at_bottom_left 12右下 miniwin.rect_edge_at_bottom_right 15矩形 miniwin.rect_edge_at_all └─┴────┴─────────────────┘ 對角線 說明 Lua標記 19對角線 - 結束於左上 miniwin.rect_diagonal_end_top_left 22對角線 - 結束於右上 miniwin.rect_diagonal_end_top_right 25對角線 - 結束於左下 miniwin.rect_diagonal_end_bottom_left 28對角線 - 結束於右下 miniwin.rect_diagonal_end_bottom_right └─┴──────────┴───────────────────┘ 在動作5(miniwin.rect_draw_edge),也可以增加以下值修改繪製的矩形的 行為: 說明 Lua標記 0x0800 (2048) 填滿中間 miniwin.rect_option_fill_middle 0x1000 (4096) 柔和的按鈕 miniwin.rect_option_softer_buttons 0x4000 (16384)扁平而非3D邊框miniwin.rect_option_flat_borders 0x8000 (32768)單色邊界 miniwin.rect_option_monochrom_borders └───────┴───────┴───────────────────┘ 最好的做法,就是用作者提供的範例去做。 範例: --==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==-- -- frame WindowRectOp (win, miniwin.rect_frame, 20, 20, 70, 70, ColourNameToRGB("blue")) -- outline -- fill WindowRectOp (win, miniwin.rect_fill, 50, 20, 80, 80, ColourNameToRGB("green")) -- filled -- invert WindowRectOp (win, miniwin.rect_fill, 50, 20, 80, 80, ColourNameToRGB("green")) -- draw rectangle WindowRectOp (win, miniwin.rect_invert, 5, 5, 90, 90, 0) -- invert a larger one -- 3D style WindowRectOp (win, miniwin.rect_3d_rect, 50, 30, 70, 70, ColourNameToRGB("springgreen"), ColourNameToRGB("green")) -- 3D edge WindowRectOp (win, miniwin.rect_draw_edge, 30, 30, 70, 70, miniwin.rect_edge_raised, miniwin.rect_edge_at_all) -- raised, not filled -- 3D edge, raised, filled WindowRectOp (win, miniwin.rect_draw_edge, 30, 30, 70, 70, miniwin.rect_edge_raised, miniwin.rect_edge_at_all + miniwin.rect_option_fill_middle) -- raised, filled -- 3D edge, raised, filled, soft WindowRectOp (win, miniwin.rect_draw_edge, 30, 30, 70, 70, miniwin.rect_edge_raised, miniwin.rect_edge_at_all + miniwin.rect_option_fill_middle + miniwin.rect_option_softer_buttons) -- raised, filled,softer -- 3D edge, flat, filled WindowRectOp (win, miniwin.rect_draw_edge, 30, 30, 70, 70, miniwin.rect_edge_raised, miniwin.rect_edge_at_all + miniwin.rect_option_fill_middle + miniwin.rect_option_softer_buttons + miniwin.rect_option_flat_borders) -- raised, filled,softer, flat -- 3D edge, etched, filled WindowRectOp (win, miniwin.rect_draw_edge, 30, 30, 70, 70, miniwin.rect_edge_etched, miniwin.rect_edge_at_all + miniwin.rect_option_fill_middle) -- etched, filled --==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==-- 來源:http://www.gammon.com.au/mushclient/mw_shapes.htm#WindowRectOp