(3分问题)CTreeCtrl *treeCtrl;下面该怎么写呢???

sytd 2001-12-28 09:09:52
CTreeCtrl *treeCtrl;下面该怎么写呢???
以前是用以下代码
但我现在想把CTreeCtrl *treeCtrl;放到*.h中,但不知道怎么写了


CTreeCtrl &treeCtrl=GetTreeCtrl();
// TODO: Add your specialized code here and/or call the base class
DWORD dwStyle=::GetWindowLong(treeCtrl.m_hWnd,GWL_STYLE);
dwStyle|=TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT;
::SetWindowLong(treeCtrl.m_hWnd,GWL_STYLE,dwStyle);


tInsert.hParent=TVI_ROOT;//节点是TVI_ROOT父
tInsert.hInsertAfter=TVI_LAST;
tInsert.item.mask=TVIF_TEXT|TVIF_PARAM;
tInsert.item.pszText="父";//节点文字
tInsert.item.lParam=0;
...全文
358 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
sytd 2001-12-29
  • 打赏
  • 举报
回复
我已经明白了,虽然有滚动条,但我不喜欢这样的,:(
我是想用视图的滚动条,但它是自己窗口的,所以我不满意,

sytd 2001-12-28
  • 打赏
  • 举报
回复
Create
我发现用这个做,有个问题,就是没有滚动视窗,而且有rect = {10,10,210,300};
产生的窗口黑边,怎么才能消除呢???
怎么才能有滚动条呢???
robothn 2001-12-28
  • 打赏
  • 举报
回复
如果用
CTreeCtrl *m_treeBook=new CTreeCtrl;
ptree->Create(WS_CHILD|WS_VISIBLE|TVS_HASLINES,CRect(0,0,100,200),(CWnd* )this,200);

robothn 2001-12-28
  • 打赏
  • 举报
回复
WS_CHILD¦WS_VISIBLE¦WS_BORDER¦TVS_HASLINES¦TVS_LINESATROOT¦TVS_HASBUTTONS¦TVS_TRACKSELECT¦TVS_SHOWSELALWAYS
这一段怎么用这样的参数?
你不用 CTreeCtrl* 了?
我是这样用的:
CTreeCtrl m_treeBook;
if (!m_treeBook.Create(WS_CHILD|WS_VISIBLE, CRect(0,0,205,450),
(CWnd*)this, IDD_TREE_BOOK))
return -1;
m_treeBook.SetBkColor(0XFEFEED);
sytd 2001-12-28
  • 打赏
  • 举报
回复
回复人: sytd(sytd) (2001-12-28 11:07:14) 得0分
CTreeCtrl m_treeCtrl1;
RECT rect = {10,10,210,300};
m_treeCtrl1.Create(WS_CHILD¦WS_VISIBLE¦WS_BORDER¦TVS_HASLINES¦TVS_LINESATROOT
¦TVS_HASBUTTONS¦TVS_TRACKSELECT¦TVS_SHOWSELALWAYS ,
rect,this, 1001);

这样做是否可以???
robothn 2001-12-28
  • 打赏
  • 举报
回复
选定GetTreeCtrl 右键菜单里 Go to Definition of XXXX 就找到了
sytd 2001-12-28
  • 打赏
  • 举报
回复
没GetTreeCtrl()原形
我都不知道在怎么地方找GetTreeCtrl()
我只是拿来主义
robothn 2001-12-28
  • 打赏
  • 举报
回复
treeCtrl 是pointer 的话,就要把 . 全改成 ->
你 GetTreeCtrl()原形贴出来看看
sytd 2001-12-28
  • 打赏
  • 举报
回复
CTreeCtrl m_treeCtrl1;而不用CTreeCtrl *m_treeCtrl1;

RECT rect = {10,10,210,300};
m_treeCtrl1.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|TVS_HASLINES|TVS_LINESATROOT
|TVS_HASBUTTONS|TVS_TRACKSELECT|TVS_SHOWSELALWAYS ,
rect,this, 1001);

是这样定义写吗
sytd 2001-12-28
  • 打赏
  • 举报
回复
treeCtrl=GetTreeCtrl();这样写我试过了,不行

DWORD dwStyle=::GetWindowLong(treeCtrl.m_hWnd,GWL_STYLE);
dwStyle¦=TVS_HASBUTTONS¦TVS_HASLINES¦TVS_LINESATROOT;
::SetWindowLong(treeCtrl.m_hWnd,GWL_STYLE,dwStyle);
这个是否也要改?
robothn 2001-12-28
  • 打赏
  • 举报
回复
GetTreeCtrl() 返回的是 CTreeCtrl* 吧
treeCtrl=GetTreeCtrl();
sytd 2001-12-28
  • 打赏
  • 举报
回复
不是InsertItem(&tInsert);这个
意思是CTreeCtrl *treeCtrl;能这样吗
以前用的是CTreeCtrl &treeCtrl=GetTreeCtrl();
而现在改为CTreeCtrl *treeCtrl;然后怎么写
mul 2001-12-28
  • 打赏
  • 举报
回复
InsertItem(&tInsert);
robothn 2001-12-28
  • 打赏
  • 举报
回复
我是放在另一个动态创建的 CControlBar的 OnCreate()里的
sytd 2001-12-28
  • 打赏
  • 举报
回复
你是放在MainrFrame::OnCreate这里的吗?
我是放在onint....里的
sytd 2001-12-28
  • 打赏
  • 举报
回复
试了,还是不行,
是不是其他地方的问题???
比如继承的是其他类,或者是其他地方有什么特别的设置等!!


能把更多的代码帖出来吗

xtky_limi 2001-12-28
  • 打赏
  • 举报
回复
listen
robothn 2001-12-28
  • 打赏
  • 举报
回复
不会吧,我的连 WS_VSCROLL 都不用,自己就出来滚动条了
是不是你数据不够一屏?
if (!m_treeBook.Create(WS_CHILD|WS_VISIBLE, CRect(0,0,205,450),
(CWnd*)this, IDD_TREE_BOOK))
return -1;

m_treeBook.ModifyStyle(0,TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT);
m_treeBook.SetBkColor(0XFEFEED);
if (GetBookContent("T1000008_02", &m_treeBook)==-1)
return -1;
sytd 2001-12-28
  • 打赏
  • 举报
回复
CTreeCtrl &treeCtrl=GetTreeCtrl();以前用这个方法有滚动条,
但换了个函数,就不能调用treeCtrl
所以要换成CTreeCtrl m_treeCtrl1;
但此时又没滚动条了!!!!!!!!!!!气!
sytd 2001-12-28
  • 打赏
  • 举报
回复
知道brvbar是什么了|
已经试了,不行,没滚动条出现
加载更多回复(4)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧