⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_18820.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:18820 发表者:teddy 发表日期:2002-10-23 16:32:49
<br>主题:help me ,关于listview
<br>内容:我用ListView的详细资料模式,想固定某一列(如第一列),该列固定后不随横向滚动条的滚动而滚动,请各位帮帮我,最好能用源码解释。谢谢先。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:徐景周 回复日期:2002-10-23 16:47:32
<br>内容:重载它,可根据固定那列,建一隐藏分隔条,或者在固定列后重载滚动条。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:teddy 回复日期:2002-10-23 16:58:49
<br>内容:徐景周大虾,请问重载滚动条,要重新确定滚动范围,该滚动范围是<BR>否是:客户区域的宽度-固定烈的宽度?你说的建一隐藏分割条,是否是用来隐藏滚动到客户区外的列?能否列出必用函数?<BR>谢谢,我太着急了,马上就要到时间了,谢谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-10-23 17:29:48
<br>内容:视你具体情况而定,类似如下:<BR><BR>CRect CTemplateEditorView::GetVScrollBarRect()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rect;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(rect);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//视滚动条的宽度 = 16<BR>&nbsp;&nbsp;&nbsp;&nbsp;rect.left&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;rect.right - 16;<BR>&nbsp;&nbsp;&nbsp;&nbsp;rect.top&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;rect.bottom - m_nVScroll;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return rect;<BR>}<BR><BR>void OnSize(UINT nType, int cx, int cy) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CScrollView::OnSize(nType, cx, cy);<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m_ScrollBar)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect rect = GetVScrollBarRect();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_ScrollBar.MoveWindow(&rect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR>CSize CalcScrollSize()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CDoc*&nbsp;&nbsp;&nbsp;&nbsp;pDoc = GetDocument();<BR>&nbsp;&nbsp;&nbsp;&nbsp;if ( !pDoc-&gt;m_bOpened )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return m_sizeTotal;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;&nbsp;&nbsp;&nbsp;rcClient;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(&rcClient);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 获取当前视类的客户区域<BR>&nbsp;&nbsp;&nbsp;&nbsp;CSize&nbsp;&nbsp;&nbsp;&nbsp;tmpSize = rcClient.Size();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientDC&nbsp;&nbsp;&nbsp;&nbsp;dc(this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.SetMapMode(MM_LOMETRIC);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.DPtoLP( &tmpSize );&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 转换设备坐标到实际数据坐标.<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;tmpSize.cx -= MIN_BORDER * 2;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;CSize&nbsp;&nbsp;&nbsp;&nbsp;szPaper = pDoc-&gt;GetMap().GetPaperSize();<BR>&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;&nbsp;&nbsp;&nbsp;xsc = double( tmpSize.cx ) / szPaper.cx;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// X方向图纸的逻辑尺寸小于客户区时,X方向居中显示<BR>&nbsp;&nbsp;&nbsp;&nbsp;CSize&nbsp;&nbsp;&nbsp;&nbsp;size;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if ( xsc &gt; m_dViewScale )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size.cx = tmpSize.cx + MIN_BORDER * 2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size.cx = int( szPaper.cx * m_dViewScale + MIN_BORDER * 2 );<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if ( IsLockFramehader() )<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取当前选中的(或活动的)井<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLogMap& pMap = GetDocument()-&gt;GetMap();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CWell* pWell =&nbsp;&nbsp;(CWell*)( pMap.GetWells().GetSingleWellNode()-&gt;GetValue() );<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//GetSelectWellNode()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect rcFrame = pWell-&gt;GetFrameRect();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect rcPaper = pMap.GetPaperRect();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcPaper.top = rcFrame.bottom;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcPaper.NormalizeRect();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;szPaper = rcPaper.Size();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size.cy = int( szPaper.cy * m_dViewScale + MIN_BORDER * 2&nbsp;&nbsp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size.cy = int( szPaper.cy * m_dViewScale + MIN_BORDER * 2 );<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return size;<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:teddy 回复日期:2002-10-24 08:03:55
<br>内容:十分感谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -