Chuyên lập trình AmiBroker cho Giao dịch chứng khoán

Thứ 3, 01/07/2025

::

PM
Đầu tư chứng khoán khoa học trên nền tảng phân tích dữ liệu và thống kê
GfxDrawText - vẽ một đoạn văn bản (bên trong hình chữ nhật)
2023-05-27 08:17:00 1650 Lượt xem

    GfxDrawText - vẽ một đoạn văn bản (bên trong hình chữ nhật)

    CÚ PHÁP

    GfxDrawText( ''text'', trái, trên, phải, dưới, format = 0 )

    TRẢ VỀ

    NOTHING

    CHỨC NĂNG

    Định dạng và vẽ văn bản trong hình chữ nhật đã cho. Nó định dạng văn bản bằng cách mở rộng các tab thành khoảng trống phù hợp, căn chỉnh văn bản theo trái, phải hoặc giữa của hình chữ nhật đã cho, và chia văn bản thành các dòng vừa khớp trong hình chữ nhật đã cho. Phương pháp định dạng được chỉ định bởi đối số format. Khi không chỉ định format, văn bản được căn chỉnh ở góc trên/trái.
    Tham số:

    • "text" - chuỗi cần vẽ
    • trái - tọa độ x góc trên/trái của hình chữ nhật cắt
    • trên - tọa độ y góc trên/trái của hình chữ nhật cắt
    • phải - tọa độ x góc dưới/phải của hình chữ nhật cắt
    • dưới - tọa độ y góc dưới/phải của hình chữ nhật cắt
    • format - xác định phương pháp định dạng văn bản. Nó có thể là bất kỳ sự kết hợp nào của các giá trị sau (kết hợp bằng toán tử bitwise OR):
    • DT_BOTTOM = 8 - Xác định văn bản được căn chỉnh ở phía dưới. Giá trị này phải được kết hợp với DT_SINGLELINE.
    • DT_CENTER = 1 - Căn chỉnh văn bản vào giữa theo chiều ngang.
    • DT_END_ELLIPSIS = 32768 hoặc DT_PATH_ELLIPSIS = 16384 - Thay thế một phần của chuỗi đã cho bằng ba chấm (...), nếu cần, để phù hợp trong hình chữ nhật đã chỉ định. Bạn có thể chỉ định DT_END_ELLIPSIS để thay thế ký tự ở cuối chuỗi, hoặc DT_PATH_ELLIPSIS để thay thế ký tự ở giữa chuỗi. Nếu chuỗi chứa ký tự backslash (\),
    • DT_PATH_ELLIPSIS bảo tồn nhiều nhất có thể của văn bản sau ký tự backslash cuối cùng.
    • DT_EXPANDTABS = 64 - Mở rộng các ký tự tab. Số ký tự mặc định cho mỗi tab là tám.
    • DT_LEFT = 0 - Căn chỉnh văn bản theo chiều trái.
    • DT_NOCLIP = 256 - Vẽ mà không cắt. Hàm DrawText sẽ nhanh hơn khi sử dụng DT_NOCLIP.
    • DT_NOPREFIX = 2048 - Tắt việc xử lý các ký tự tiền tố. Thông thường, DrawText hiểu ký tự tiền tố mã hóa (&) là một chỉ thị gạch chân ký tự tiếp theo, và hai ký tự tiền tố hai lần (&&) là một chỉ thị để in một dấu & duy nhất. Bằng cách chỉ định DT_NOPREFIX, quá trình này sẽ bị tắt.
    • DT_RIGHT = 2 - Căn chỉnh văn bản theo chiều phải.
    • DT_SINGLELINE = 32 - Chỉ định chỉ một dòng duy nhất. Dấu xuống dòng và dòng mới không làm ngắt dòng.
    • DT_TOP = 0 - Xác định văn bản được căn chỉnh ở trên (chỉ một dòng).
    • DT_VCENTER = 4 - Xác định văn bản được căn chỉnh theo chiều dọc ở giữa (chỉ một dòng).
    • DT_WORDBREAK = 16 - Xác định ngắt từ. Các dòng sẽ tự động bị ngắt giữa các từ nếu một từ sẽ vượt qua biên của hình chữ nhật đã chỉ định. Một dãy ký tự xuống dòng-sắp xếp cũng sẽ làm ngắt dòng.

    Lưu ý: Hằng số DT_ được lấy từ Windows API và được cung cấp ở đây chỉ để tham khảo. Chúng không được định nghĩa trong AmiBroker, do đó bạn nên sử dụng giá trị số thay vì hằng số.

    LƯU Ý: Đây là một hàm đồ họa CẤP THẤP. Để tìm hiểu thêm về các hàm đồ họa cấp thấp, vui lòng đọc HƯỚNG DẪN: Sử dụng đồ họa cấp thấp.

    VÍ DỤ    

    // ví dụ về định dạng văn bản được xuất qua các hàm đồ họa cấp thấp

    CellHeight = 20;
    CellWidth = 
    100;
    GfxSelectFont"Tahoma", CellHeight/2 );

    function PrintInCell( string, row, Col )
    {

    GfxDrawText( string, Col * CellWidth, row * CellHeight, (Col + 1 ) * CellWidth, (row + 1 ) * CellHeight, 0 );
    }

    PrintInCell( 
    "Open"00 );
    PrintInCell( 
    "High"01 );
    PrintInCell( 
    "Low"02 );
    PrintInCell( 
    "Close"03 );
    PrintInCell( 
    "Volume"04 );

    GfxSelectPencolorBlue );
    for( i = 1; i < 10 && i < BarCount; i++ )
    {
    PrintInCell( 
    StrFormat( Chia sẻ:

    Đọc thêm

    Thu gọn

    Zalo
    Hotline