DuiLib 中滚动条不显示的问题
DuiLib 很好用,同时在没有完全理解源码的前提下,坑也不少,比如今天遇到的添加滚动条不显示。。。
CControlUI * CMainView::CreateControl(LPCTSTR pstrClass) {if (0 == _tcscmp(pstrClass, _T("RealTimeInfoPage"))) {return new CRealTimeInfoPage();}return NULL;}
class CRealTimeInfoPage : public CContainerUI {public:CRealTimeInfoPage();~CRealTimeInfoPage();};
CRealTimeInfoPage::CRealTimeInfoPage() {CDialogBuilder builder;this->Add(builder.Create(_T("xml\\RealTimeInfoPage.xml")));}
void CContainerUI::EnableScrollBar(bool bEnableVertical, bool bEnableHorizontal) {if( bEnableVertical && !m_pVerticalScrollBar ) {m_pVerticalScrollBar = new CScrollBarUI;m_pVerticalScrollBar->SetScrollRange(0);m_pVerticalScrollBar->SetOwner(this);m_pVerticalScrollBar->SetManager(m_pManager, NULL, false);if ( m_pManager ) {LPCTSTR pDefaultAttributes = m_pManager->GetDefaultAttributeList(_T("VScrollBar"));if( pDefaultAttributes ) {m_pVerticalScrollBar->SetAttributeList(pDefaultAttributes);}}} else if( !bEnableVertical && m_pVerticalScrollBar ) {m_pVerticalScrollBar->Delete();m_pVerticalScrollBar = NULL;}if( bEnableHorizontal && !m_pHorizontalScrollBar ) {m_pHorizontalScrollBar = new CScrollBarUI;m_pHorizontalScrollBar->SetScrollRange(0);m_pHorizontalScrollBar->SetHorizontal(true);m_pHorizontalScrollBar->SetOwner(this);m_pHorizontalScrollBar->SetManager(m_pManager, NULL, false);if ( m_pManager ) {LPCTSTR pDefaultAttributes = m_pManager->GetDefaultAttributeList(_T("HScrollBar"));if( pDefaultAttributes ) {m_pHorizontalScrollBar->SetAttributeList(pDefaultAttributes);}}} else if( !bEnableHorizontal && m_pHorizontalScrollBar ) {m_pHorizontalScrollBar->Delete();m_pHorizontalScrollBar = NULL;}NeedUpdate();}
CPaintManagerUI* CPaintManagerUI::GetPaintManager(LPCTSTR pstrName) {if( pstrName == NULL ) return NULL;CString sName = pstrName;if( sName.IsEmpty() ) return NULL;for( int i = 0; i < m_aPreMessages.GetSize(); i++ ) {CPaintManagerUI* pManager = static_cast<CPaintManagerUI*>(m_aPreMessages[i]);if( pManager != NULL && sName == pManager->GetName() ) return pManager;}return NULL;}CDuiPtrArray* CPaintManagerUI::GetPaintManagers() {return &m_aPreMessages;}
CRealTimeInfoPage::CRealTimeInfoPage(CPaintManagerUI *pManager) {CDialogBuilder builder;this->Add(builder.Create(_T("xml\\RealTimeInfoPage.xml"), NULL, NULL, pManager));}
CControlUI * CMainView::CreateControl(LPCTSTR pstrClass) {if (0 == _tcscmp(pstrClass, _T("RealTimeInfoPage"))) {return new CRealTimeInfoPage(&m_PaintManager);}return NULL;}
DuiLib 中滚动条不显示的问题的更多相关文章
- java中JScrollPane不显示水平滚动条的解决办法
在JPanel中添加了表格,表格中对东西太多,需要水平滚动条滑动才能够完全找到所有数据,如果没有水平滚动条的话,数据堆积在一起,无法分开 做法是: 第一步:先将表格自动调整的状态给关闭掉:table. ...
- 让UIScrollView、UITableView的滚动条一直显示
先用xcode5.1.1或更低版本创建一个Category,如图: 然后拷贝以下代码到刚创建的UIImageView+ForScrollView.m文件中: - (void) setAlpha:(fl ...
- WPF的项目,ListBox 纵向滚动条不显示
最近在做WPF的项目,ListBox 纵向滚动条不显示,但是鼠标滚轮可以在ListBox中使用,但是必须要出现纵向滚动条. 索性就直接在listBox外面包裹一个ScrollViewer. Scro ...
- css设置滚动条并显示或隐藏
看效果,没有滚动条,超出div,开发中肯定不行. 有滚动条 最后就是想隐藏滚动条 代码 有滚动条并显示 <!DOCTYPE html> <html lang="en&quo ...
- DuiLib中FlashDemo的例子经验杂粹1
转载:https://www.jianshu.com/p/3e958ae9e5ab 最近用duilib做个东西,经常卡壳 ,而且以前学的现在又忘.现在觉得应该好好做笔记,以前老是觉得博客是很郑重的东西 ...
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- MongoVue中Collections无法显示的问题
问题描述: 通过Python向MongoDB写入数据后,MongoVue中Collections无法显示的问题 原因: Mongodb 3.0之后默认的 storageEngine为wiredTige ...
- OpenGL中glVertex、显示列表(glCallList)、顶点数组(Vertex array)、VBO及VAO区别
OpenGL中glVertex.显示列表(glCallList).顶点数组(Vertex array).VBO及VAO区别 1.glVertex 最原始的设置顶点方法,在glBegin和glEnd之间 ...
- winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色
winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色 先设置奇数行颜色,这个有个自带的属性AlternatingRowsDefaultCellStyle ...
随机推荐
- Windows Forms框架编程
<Windows Forms框架编程>节选 第九章 设计模式与原则 软件设计模式(Design pattern)是一套被反复使用的代码设计经验总结.使用设计模式是为了可重用代码.让代码 ...
- Easyui布局
Easyui入门视频教程 第03集---Easyui布局 Easyui入门视频教程 第03集---Easyui布局 目录 ----------------------- Easyui入门视频教程 ...
- c#中实现登陆窗口(无需隐藏)
C#登录窗口的实现,特点就是不用隐藏. 在入口处打开登陆: static void Main() { Application.EnableVisualStyles(); Application.Set ...
- 扩展Session机制
分布式缓存扩展Session机制 为什么要把Session放在缓存中 Session是我们常用的状态保持的对象,它通常会生成一个唯一的SessionId以Cookie的方式存在浏览器端,而Sess ...
- 实现Launcher编辑模式(1) 壁纸更换
Android Launcher分析和修改13——实现Launcher编辑模式(1) 壁纸更换 Posted on 2013-09-11 23:25 泡泡糖 阅读(212) 评论(3) 编辑 收藏 已 ...
- C#如何判断线程池中所有的线程是否已经完成之Demo
start: System.Threading.RegisteredWaitHandle rhw = null; new Action(() => { ; i < ; i++) { new ...
- Python之FTP多线程下载文件之分块多线程文件合并
Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...
- mybatis配置Log4j带不出日志
使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. log4j.prope ...
- 实现Avl平衡树
实现Avl平衡树 一.介绍 AVL树是一种自平衡的二叉搜索树,它由Adelson-Velskii和 Landis于1962年发表在论文<An algorithm for the organi ...
- 关于SqlDataAdapter的使用
原文传送门 如果使用SqlDataAdapter来查询数据返回给DataSet或者DataTable时需要注意以下几点:1.如果SqlDataAdapter的SelectCommand的连接并没有打开 ...