Pole:不错!正是我想要的!感谢作者无私奉献!
(发表于2002-9-1 22:52:00)
hehe:挺好!
(发表于2002-9-2 10:26:00)
vc_study:good, thank you!
(发表于2002-9-4 20:37:00)
Pole:IEBAE里的树项的消息(点击等)如何处理?
(发表于2002-9-4 23:30:00)
樊文生:致Pole兄:
在我写该工程时只是想模仿IE的界面,所以并没有考虑有关其中树的消息处理问题,其实解决这个问题也并不是太难,你可以从CTreeCtrl类重新派生一个新类来,在该新类里面你可以接管任何CTreeCtrl所具备的消息,例如打个比方,你可以在你新派生的类中处理WM_LBUTTONDOWN消息,然后在消息的映射函数中加入:
MessageBox("left button down!");代码,那么在你每当按下鼠标左键时就会出现这个提示框。
(发表于2002-9-5 18:19:00)
Pole:发现内存泄露!!!
Detect Memory Leaks!!!
应该加上析构函数~CIEBar()
//in CIEBar.cpp:
CIEBar::~CIEBar()
{
if(pTreeCtrl != NULL)
delete pTreeCtrl;//avoid memory leak.
// added by pole
}
***让我们把它做得更好!!
***同时谢谢作者樊文生!!
(发表于2002-9-7 22:23:00)
Aubade:很好!我是初学者,请教:我为何无法用ClassWizard生产基于CDialogBar的IEBAR类?多谢指教!
(发表于2002-9-13 19:45:00)
ghj1976:good 正想如何实现这样的功能,就已经有了。
(发表于2002-9-15 10:50:00)
hopetoo:这个程序不错,不过有些地方不太明白。列在下面:
(1)CIEBar::DrawDragLine()中:
t_FocusRect.InflateRect(2, 0, -2, -43);
将拖动线矩形上移43,我知道为什么上移,如果不上移,
拖动线将太长,伸出主框架以外。
大家将该句改为:t_FocusRect.InflateRect(2, 0, -2, 0)试试。
但是拖动线矩形的高度(t_FocusRect.bottom-t_FocusRect.top)
是等于t_ClientRect的高度,代码如下:
CRect t_ClientRect;
GetClientRect(&t_ClientRect);
ClientToScreen(&t_ClientRect);
CRect t_FocusRect(point.x, t_ClientRect.top,
point.x, t_ClientRect.bottom);
为什么这个高度比实际运行得到的主框架的高度大呢???
(2)CIEBar::DrawFrm()中:
CRect t_ClientRc;
GetClientRect(&t_ClientRc);
t_ClientRc.DeflateRect(3, 6, IE_FRM_WIDTH, 49);
这里为什么又要上移49呢??
大家可以将49改成其他的数值比较看看,可以看到
灰线的边框矩形大小在改变。
这是不是说明用GetClientRect得到的Bar的尺寸不准,
还是需要额外扣除某些部分??
程序中很多DeflateRect,InflateRect,
其中调整矩形的大小都没有注释,让人很费解。
以上棘手问题,我实在想不明白,在此敬问各位大虾,
谢谢指点迷津
//bow
(发表于2002-10-9 19:14:00)
soe_927:回答Aubade先生的问题:
可以先产生基于Dialog的新类,再将CDialog替换为CDialogBar即可啦。
(发表于2003-3-5 11:09:00)
fhyxh:当对窗体进行缩放操作时,IEBar狂闪,怎么解决?
(发表于2004-12-1 22:46:00)
mazy2006:隐藏状态条后,DialogBar的框架底部没跟着变。
(发表于2006-6-20 22:34:00)
..........................................................................
--------------------next---------------------