做个PDF格式电子图书浏览器
2006-07-22 22:02:07 来源:WEB开发网返回到主对话框,右键单击,选择"Properties"(属性),在"Styles"里"Border:"选择"Resizing",在"Minimize box"和"Maximize box"前选择打钩。那么我们的问题就算解决了。
图5
在下面的拖拉对话框大小的时候,你也许会发现,我们的阅读pdf电子图书那部分窗口却没有发生什么变化,是不是感到美中不足呢。对于这个问题,用一个函数就可以完美解决。我们需要用WM_SIZE映射一个函数OnSize()。
void CPdfReaderDlg::OnSize(UINT nType, int cx, int cy)
在我们的菜单里就"打开"这么一个选择未免太单调,我们可以自己手动加入一些东西。比如,"上页""下页""首页""末页""退出",其对应ID分别为:ID_PREVIOUS_PAGE,ID_NEXT_PAGE,ID_FIRST_PAGE,ID_LAST_PAGE,IDCANCEL(这里要说的是,在其菜单属性里把"Pop-up"前钩去掉),其对应函数分别为:
{
CDialog::OnSize(nType, cx, cy);
m_PdfFile.MoveWindow(0,0,cx,cy); //我们就需要加入这么一行就行了。
}void CPdfReaderDlg::OnFirstPage()
我们能不能控制PDF格式电子图书显示的大小呢,答案是肯定的。在菜单中加入"视图",其子项为"放大","缩小",对应ID为ID_CHANG_BIG,ID_CHANG_SMALL。相应函数可为:
{
m_PdfFile.gotoFirstPage();
}
void CPdfReaderDlg::OnLastPage()
{
m_PdfFile.gotoLastPage();
}
void CPdfReaderDlg::OnNextPage()
{
m_PdfFile.gotoNextPage();
}
void CPdfReaderDlg::OnPreviousPage()
{
m_PdfFile.gotoPreviousPage();
}
void CPdfReaderDlg::OnCancel()
{
CDialog::OnCancel();
}void CPdfReaderDlg::OnChangBig()
注意:要在PdfReaderDlg.cpp前面加上
{
i=i+50; //设定i的变化范围。你可以改变一下i每次变化的大小。
m_PdfFile.setZoom(i);
}
void CPdfReaderDlg::OnChangSmall()
{
i=i-50;
m_PdfFile.setZoom(i);
}int i=100; //初始化i的大小
当然,你也可以添加一个新的对话框 ,用来设定PDF格式电子图书显示的大小。新加一个对话框后,生成相应的类,如CFind。在新生成的对话框内添加"Static"和 "Edit"控件。见下表和图8: Static Text 控件 自定义大小:
Edit Box 控件 IDC_FIND
更多精彩
赞助商链接