我的工程左右视图,左视图显示曲线,右视图是一个listbox用于显示载入的曲线列表,当我点击列表中某个曲线名,则在左视图显示,然后就可以打印预览。
但是我发现,点击listbox的某个曲线名,在左视图显示后(这时可以打印预览),再点击listbox的空白处后,打印预览菜单变灰色了。我已经选中过曲线了,为什么这时无法打印预览了呢,请高手指点!

解决方案 »

  1.   

    点击listbox的空白处后,使已选中item的失去焦点
      

  2.   

    在你的双击事件中判断
    for(int i=0; i<m_list.GetItemCount(); i++)//判断选择的是第几行
    {
            if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
            {
                    CString ID=m_list.GetItemText(i,0);//选择一列有数据的进行判断
             if (ID=="")                        //选择的空白行不做处理
            {
             MessageBox("选择的空白项!");
             return;
            }
            }
    }
      

  3.   

    和你的问题类似:
    http://topic.csdn.net/u/20090404/23/93fc7544-8cf3-4fca-924a-42d07d2f01e7.html?seed=462898273
      

  4.   

    用AppWizip生成时,是不是不小心把对打印的支持给去掉了呀?
      

  5.   

    你的“打印预览”是在哪个视图中响应的?只有活动视图才能响应菜单事件,如果你目前只是在左视图中响应“打印预览”,可以在右试图上也添加时间响应函数(COMMAND和UPDATE_COMMAND_UI都要响应),在响应函数中调用左视图的函数来处理。
      

  6.   

    应该是你要打印对应的视图失去焦点了,你重新SetActiveView,应该就可以了