让UI开发轻松而快乐,用SonicUI引擎实现常见UI效果
2009-01-17 19:39:14 来源:WEB开发网2.文字和超链接
UI开发过程中经常最麻烦的是绘制文字,需要你不停的初始化字体,设定字体属性,如果产品人员要求文字按一定的格式排版或输出彩色文字,那简直就是我们的噩梦了。而在自己的界面加入超链接,网上已经有不少演示代码了,但我相信ISonicString是一个更简单的实现方案。ISonicString是一个可以进行消息交互的UI组件对象。只需要像html语言一样加入一些类似的控制符,你就可以随心所欲的控制字体的大小颜色,超链接等属性,非常方便。
ISonicString * pStr = GetSonicUI()->CreateString();
如何,只需要创建,然后像CString的Format一样格式化一个字符串,在WM_PAINT响应中输出即可,只需要三步,你就得到了一行蓝色的功能完整的超链接,是不是很方便。通过控制字符,你还可以设定下划线的样式,鼠标形状,响应鼠标时变色等细节,具体参看ISonicUI.h中的注释即可。
pStr->Format("/c=%x, a='http://hi.csdn.net/zskof', font, font_height=16/点我打开链接", RGB(0, 0, 255));
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
pStr->TextOut(hdc, 0, 0, hWnd);
EndPaint(hWnd, &ps);
}
break;
}
.
.
.
}
ISonicString也可以将文字和图片混合输出,或使图片带有超链接属性,需要用'p'控制符指定一个ISonicImage的id:
更多精彩
赞助商链接