陈奇网络工作室

wxWidgets第10课渲染字体

系统操作和维护

解释

DrawText的缺点:需要手动计算字体大小和字体放置,不能随意设置字体的宽度和高度。在可扩展性方面,效果较差。基于以上缺点,引入了DrawLabel函数。

app应用

void draw label(const wx string text,const wxRect rect,

int alignment=wx align _ LEFT | wx align _ TOP,

int indexAccel=-1)

第一个参数是标签的文本内容。

第二个参数是标签所在的矩形区域。

第三个参数是文本的对齐方式,包括居中对齐、左对齐等。有关详细信息,请参见。

wx对齐

wx align _ CENTER _ HORIZONTAL=0x 0100,

wx align _ CENTRE _ HORIZONTAL=wx align _ CENTER _ HORIZONTAL,

wxALIGN_LEFT=wxALIGN_NOT,

wxALIGN_TOP=wxALIGN_NOT,

wxALIGN_RIGHT=0x0200,

wxALIGN_BOTTOM=0x0400,

wxALIGN_CENTER_VERTICAL=0x0800,

wx align _ CENTRE _ VERTICAL=wx align _ CENTER _ VERTICAL,

该函数对于在自定义控件中呈现控件标题非常有用。

示例:控件的标题占整个控件高度的30%,居中对齐。

wxBufferedPaintDC DC(this);

int titleHeight=m_size。GetHeight()* 0.3;

wxRect rect(0,0,m_size。GetWidth()、title height);

华盛顿。DrawLabel(m_szTitle,rect,wx align _ CENTER _ HORIZONTAL | wx align _ TOP);

Description 0,0表示控件的宽度是标签的矩形宽度,高矩形的高度是控件左上角的30%。

以DrawText为例

wxFont titleFont(wxSize(0,titleHeight),wxFONTFAMILY_SCRIPT,wxNORMAL,wx font weight _ LIGHT);

华盛顿。set font(title font);

华盛顿。DrawText(m_szTitle,4,0);

注意,wxSize主要用于设置字体的宽度和高度。其实只需要设置字体的高度就可以自动确认字体的宽度,但是效果往往很差。这里有一个设置字体大小的方法,同样效果不佳。

wxClientDC dc(这个);

//定义一个wxFont类的对象字体。

//构造函数wxFont:wxFont(字号,字体类型(书法,美术),斜体,)

wxFont字体(30,wxFONTFAMILY_ROMAN,wxNORMAL,wx bold);

//使用DC类的成员函数SetFont设置字体。

华盛顿。SetFont(字体);

//设置背景是透明还是不透明。

华盛顿。SetBackgroundMode(wx solid);

//设置前景色

华盛顿。SetTextForeground(wxColor(0,255,127));

//设置背景颜色

华盛顿。SetTextBackground(wxColor(0,36,17));

//write,text wxString,location wxPoint

华盛顿。DrawText(9,100,100);

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3