首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 被困扰已久的问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 09:57:41 楼主
    我在一个单文档程序中动态添加了一个CListCtrl控件ID为m_ListCtrl,是通过右键菜单添加的,添加之后m_ListCtrl不是处在激活状态,我使用了m_ListCtrl.BringWindowToTop()使它获得了焦点,但m_ListCtrl却无法显示,如果不用m_ListCtrl.BringWindowToTop(),m_ListCtrl可以显示,但不是处在激活状态。

    如果能够使m_ListCtrl创建后就处在激活状态而且能显示出来呢?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 10:33:291楼 得分:0
    应该可以的,看看你的代码有何特殊之处。当然,不需要BringWindowToTop。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 11:38:492楼 得分:0
    CRect rect;

       
    if(mm_ListCtrl)
    {
    mm_ListCtrl.DestroyWindow();
    }
    CWnd *CFrmWnd=AfxGetMainWnd();
    CFrmWnd->SetFocus();
    CFrmWnd->GetClientRect(rect);
    rect.top+=3;
    CStatic mm_Static;

    mm_ListCtrl.Create(WS_CHILD ¦WS_VISIBLE ¦WS_BORDER ¦LVS_REPORT,rect,CFrmWnd,1);

        CFrmWnd->GetClientRect(rect);

    //mm_ListCtrl.SetBkColor(RGB(177,151,240));
    mm_ListCtrl.SetTextColor(RGB(0,0,0));
    //mm_ListCtrl.SetTextBkColor(RGB(177,151,240));
    mm_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT ¦LVS_EX_GRIDLINES ¦LVS_EX_HEADERDRAGDROP);
    mm_ListCtrl.InsertColumn(0,_T("右键标准编号"),LVCFMT_LEFT,100);
    mm_ListCtrl.InsertColumn(1,_T("右键标准名称"),LVCFMT_LEFT,100);
        mm_ListCtrl.BringWindowToTop();

    CString str;
    for(int i=0;i <4;i++)
    {
    str.Format("编号%d",i+1);
    mm_ListCtrl.InsertItem(i,str);
    str.Format("房间%d",i+1);
    mm_ListCtrl.SetItemText(i,1,str);
    }

    以上是我的代码,运行后mm_ListCtrl无法显示
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 11:40:083楼 得分:0
    单击后才会一个一个显示出来
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 11:45:524楼 得分:0
    这应该是个界面绘制的问题。

    在OnPaint中调控件的重绘试试?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 15:33:575楼 得分:0
    神啊,救救我吧!这个问题怎么解决呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 16:09:326楼 得分:0
    mm_ListCtrl.BringWindowToTop();
    改为:
    mm_ListCtrl.ShowWindow(SW_SHOW);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 16:22:497楼 得分:0
    SetFocus()好象可以,你试下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 16:37:428楼 得分:0
    都不行。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 17:11:539楼 得分:0
    mm_ListCtrl.ShowWindow (SW_SHOW);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-31 17:27:0110楼 得分:0
    说一下,我的listctrl是通过右键菜单建立并绘制在视图里的,我想在绘制listctrl后使之显示出来并能处在激活状态。
    我现在的程序通过右键菜单可以显示listctrl,但是它没被激活,因为它的表头无法通过鼠标拉动来改变其长度。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 16:04:1711楼 得分:0
    该回复于2008-04-03 11:06:04被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 16:09:5212楼 得分:0
    父窗口出问题了?

    查看一下你的窗口的级别关系,看正不正确,是不是有同级窗口存在相同区域?即两个可见窗口出现了重叠。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 21:52:4313楼 得分:0
    天啊。。。啥整的这是。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 11:10:1014楼 得分:0
    代码乱七八糟,变量乱七八糟,逻辑乱七八糟,还满嘴脏话。楼主需要好好学学基础和为人。

    单文档客户区被视图占据,你要么替换视图,或者调整视图大小,给你的控件留出空间。其实最一般的是在视图中创建;更简单的是从CListView继承视图类。另外,不要因为你自己说不清楚搞不明白来怪别人。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 12:42:2115楼 得分:0
    楼上说的对啊,自己还得加强啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-08 09:04:3116楼 得分:0
    说得乱七八糟!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved