前言
前面,我实现了对话框的显示,移动等基本功能,又可以显示文字了,还有按钮。现在呢,我想将这些东西组合起来来显示一下合作的力量是巨大的。
正题
我的思路是,在对话框上面绘制文字,放在标题栏位置,一个关闭按钮放在右上角,看似容易的操作是否真的容易呢。
首先我添加窗口标题,新建了一个窗口类,然后在窗口类里面添加了一个字体类,这也是暂时的,就是为了能出效果。主要是显示的时候,要获取窗口的位置,让文字随着窗口一起移动,注意不要把文字绘制到窗口之外。
void EditSaveDialog::draw()
{
if(display)
{
GLDialog::draw();
font->setPos(vec3(position_pix.x-150,position_pix.y-95,0));
font->draw();
}
}
之后看起来应该是这样。
那下面再放一个按钮上去。
由于网上素材不好下载,我就自己做了一个关闭按钮,之后要考虑一些简单的问题,比如关闭之后,焦点要还给父窗口,将保存按钮设置回原来的样子。
最后的效果看起来就是这样。
源码