如何设置Win32 richedit

时间:2016-08-29 02:45:40

标签: c++ windows winapi controls

我们可以使用EM_SETMARGINS消息来设置RichEdit控件的左/右边距。但我不知道如何设置上/下边距。有人知道吗?感谢。

1 个答案:

答案 0 :(得分:3)

使用EM_GETRECT / EM_SETRECT消息组合修改所有边距:

        RECT rc;
        // Get the current control rectangle
        SendMessage(hWndRichEdit, EM_GETRECT, 0, (LPARAM)&rc);
        rc.left += 20; // increase the left margin 
        rc.top += 20; // increase the top margin
        rc.right -= 20; // decrease the right margin
        rc.bottom -= 20; // decrease the bottom margin (rectangle)
        // Set the rectangle
        SendMessage(hWndRichEdit, EM_SETRECT, 0, (LPARAM)&rc);

结果控件具有全部四个边距:

RichEdit control with 20px margins

更新:根据下面的Barmak ShemiraniIInspectable条评论,您可以使用GetClientRect函数获取当前矩形和InflateRect函数操纵矩形/边距尺寸。