精华内容
下载资源
问答
  • 如题,有类似教程吗?
  • 刚学MFC,添加控件那面板上面有listctrl控件没有listview,请问如何像我的一个Dialog上面添加一个listView类
  • [img=...如图 在dialog 上拖了几个控件 右键所有控件-添加变量都是灰色的。 而且button 控件双击也不添加消息事件每次都得手动添加
  • MSChart控件在对话框程序(vc2010MFC)中的错误因为要用到折线图,所以借助MSChart控件。首先,确认MSChart控件在本机上的安装于注册是没问题的,因为建立了一个基于单文档的MFC程序测试,能够正常显示控件,如下图...

    MSChart控件在对话框程序(vc2010 MFC)中的错误
    因为要用到折线图,所以借助MSChart控件。
    首先,确认MSChart控件在本机上的安装于注册是没问题的,因为建立了一个基于单文档的MFC程序测试,能够正常显示控件,如下图所示。其中是在view类的oncreat函数中添加的如下代码:(copy网上的代码),并添加相关函数InitChart()和DrawChart()。
    CRect rc;
    GetClientRect(&rc);
    if(!m_Chart.Create(_T("mschart"), WS_CHILD| WS_VISIBLE, rc, this, 10))
    return -1;

    现在,要想要基于对话框的MFC程序中使用MSCHart控件,但是不能正常显示。我的做法是:
    1. 将控件拖入对话框中,并关联变量,如图所示。

     
    2. 在OnInitDialog()中添加代码:
    InitChart();
       DrawChart();
    这样还是不显示控件,如图所示:
     
    如果在OnInitDialog()中添加如下代码便会引起错误,编译没问题,但运行程序会报错。
    m_Chart.Create(_T("mschart"), WS_CHILD| WS_VISIBLE, rc, this, 10);
    求大神们指点一下,实现在对话框程序中显示控件,该程序没有相应的view类。

    转载于:https://www.cnblogs.com/ahwankong/archive/2013/05/21/3091308.html

    展开全文
  • 我建立了一个基于对话框的MFC,三个对话框—一个主对话框,一个往列表控件添加数据的Add对话框,一个修改列表控件数据的Edit对话框,怎么实现Edit对话框中修改的数据在主对话框展现呢?
  • 如何用代码动态添加控件

    千次阅读 2002-02-28 11:53:00
    如何用代码动态添加控件作者:bzshow读者层次: VC初学者在资源编辑器里我们可以方便地在对话框中加入所需控件,比如文本编辑框、列表控件等。但假如我们需要在运行期间动态生成这些控件该怎么做呢?本文就是讲述用...

    如何用代码动态添加控件
    作者:bzshow



    读者层次: VC初学者


    在资源编辑器里我们可以方便地在对话框中加入所需控件,比如文本编辑框、列表控件等。但假如我们需要在运行期间动态生成这些控件该怎么做呢?本文就是讲述用代码动态添加控件的方法,并提供示例工程。

    下载示例工程 12.5K

    程序运行界面如下
     


    为了方便演示,我们先生成一个基于对话框的MFC工程,起名为My


    在CMyDlg.h中做下面几个步骤:


    public:
    //加上这个变量
    CEdit m_MyEdit;
    protected:
    //加上这个函数, 用来响应编辑框改变的事件
    afx_msg void OnChangeEdit();

    在CMyDlg.cpp中做下面几个动作:

    //增加这一行,为该编辑框设定ID为1820
    #define ID_MYEDT 1820
    在BEGIN_MESSAGE_MAP(CMyDlg, CDialog)下面加入
    ON_EN_CHANGE(ID_MYEDT, OnChangeEdit)
    添加这一句的作用是将编辑控件内容改变的消息映射到OnChangeEdit函数,你要在CMyDlg.cpp中实现OnChangeEdit()函数;


    好了,让我们动态生成控件吧!
    m_MyEdit.CreateEx(WS_EX_CLIENTEDGE, // 3D-border外观
    _T("EDIT"),
    NULL,
    ES_AUTOHSCROLL | ES_LEFT | ES_NOHIDESEL | WS_CHILD,
    rect, this,
    ID_MYEDT);//生成edit控件

    m_MyEdit.ShowWindow(SW_SHOW); //显示控件
    m_MyEdit.SetFocus(); //设置焦点

    //动态删除可以用如下语句
    GetDlgItem(ID_MYEDT)->DestroyWindow();//销毁控件

    在代码中我们只演示了编辑控件的动态生成方法,其它控件动态生成的方法基本一致,都可以参考这一过程。

    展开全文
  • 在属性页里面添加好需要的控件.比如说一个文本框,让它和控件的一个属性向关联.这件事情在VC6.0时代应该是轻而易举的,可是VC2005好像是为了支持WindowsCE等不支持属性页的移动设备把这一个省事的ClassWizard给取消了....
        在属性页里面添加好需要的控件.比如说一个文本框,让它和控件的一个属性向关联.这件事情在VC6.0时代应该是轻而易举的,可是VC2005好像是为了支持WindowsCE等不支持属性页的移动设备把这一个省事的ClassWizard给取消了.不过关联这件事情其实并不困难.以下给出几个约略的步骤,如果你开发过AcitveX那么会十分清楚的,如果没有那么就是我再怎么说也不清楚.
    首先给你的文本框关联一个变量;
    然后在生成的DataExchange函数中添加一句

    DDP_Text(pDX, IDC_EDIT4, AccSel,_T("Accurate"));

    第二项是文本框的标识符ID,AccSel是你关联的那个变量名字,"Accurata"是属性的名字.
    最后这个很关键,就是把

    DDP_PostProcessing(pDX);

    这句从函数开头移到函数末尾,这样就可以了.关联工作到此结束.

    展开全文
  • VC 对话框添加滚动条

    千次阅读 2011-09-14 14:26:05
    我给tab 控件三个子对话框都添加了WS_VSCROLL和WS_HSCROLL消息响应函数,但是他们都不起作用,这怎么解决?望高手帮指点解决一下,先谢了啊 void CSystemdlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBa
     
    
    我给tab 控件三个子对话框都添加了WS_VSCROLL和WS_HSCROLL消息响应函数,但是他们都不起作用,这怎么解决?望高手帮指点解决一下,先谢了啊
    void CSystemdlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)  
    {  
    // TODO: Add your message handler code here and/or call default  

    SCROLLINFO scrollinfo;  
    GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
     switch (nSBCode)  
      {  
    case SB_BOTTOM:  
      ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10);  
      scrollinfo.nPos = scrollinfo.nMax;  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      break;  
    case SB_TOP:  
      ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin)*10);  
      scrollinfo.nPos = scrollinfo.nMin;  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      break;  
    case SB_LINEUP:  
      scrollinfo.nPos -= 1;  
      if (scrollinfo.nPos)
      {  
      scrollinfo.nPos = scrollinfo.nMin;  
      break;  
      }  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      ScrollWindow(0,10);  
      break;  
    case SB_LINEDOWN:  
      scrollinfo.nPos += 1;  
      if (scrollinfo.nPos>scrollinfo.nMax)  
      {  
      scrollinfo.nPos = scrollinfo.nMax;  
      break;  
      }  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      ScrollWindow(0,-10);  
      break;  
    case SB_PAGEUP:  
      scrollinfo.nPos -= 5;  
      if (scrollinfo.nPos)
      {  
      scrollinfo.nPos = scrollinfo.nMin;  
      break;  
      }  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      ScrollWindow(0,10*5);  
      break;  
    case SB_PAGEDOWN:  
      scrollinfo.nPos += 5;  
      if (scrollinfo.nPos>scrollinfo.nMax)  
      {  
      scrollinfo.nPos = scrollinfo.nMax;  
      break;  
      }  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      ScrollWindow(0,-10*5);  
      break;  
    case SB_ENDSCROLL:  
      / / MessageBox("SB_ENDSCROLL");  
      break;  
    case SB_THUMBPOSITION:  
      // ScrollWindow(0,(scrollinfo.nPos-nPos)*10);  
      // scrollinfo.nPos = nPos;  
      // SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      break;  
    case SB_THUMBTRACK:  
      ScrollWindow(0,(scrollinfo.nPos-nPos)*10);  
      scrollinfo.nPos = nPos;  
      SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
      break;  
      }  

    CDialog::OnVScroll(nSBCode, nPos, pScrollBar);  
      }  

    void CSystemdlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)  
     {  
    // TODO: Add your message handler code here and/or call default  

    SCROLLINFO scrollinfo;  
    GetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    switch (nSBCode)  
    {  
    case SB_LEFT:  
      ScrollWindow((scrollinfo.nPos-scrollinfo.nMin)*10,0);  
      scrollinfo.nPos = scrollinfo.nMin;  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    break;  
    case SB_RIGHT:  
    ScrollWindow((scrollinfo.nPos-scrollinfo.nMax)*10,0);  
    scrollinfo.nPos = scrollinfo.nMax;  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    break;  
    case SB_LINELEFT:  
    scrollinfo.nPos -= 1;  
    if (scrollinfo.nPos{  
    scrollinfo.nPos = scrollinfo.nMin;  
    break;  
    }  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    ScrollWindow(10,0);  
    break;  
    case SB_LINERIGHT:  
    scrollinfo.nPos += 1;  
    if (scrollinfo.nPos>scrollinfo.nMax)  
    {  
    scrollinfo.nPos = scrollinfo.nMax;  
    break;  
    }  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    ScrollWindow(-10,0);  
    break;  
    case SB_PAGELEFT:  
    scrollinfo.nPos -= 5;  
    if (scrollinfo.nPos{  
    scrollinfo.nPos = scrollinfo.nMin;  
    break;  
    }  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    ScrollWindow(10*5,0);  
    break;  
    case SB_PAGERIGHT:  
    scrollinfo.nPos += 5;  
    if (scrollinfo.nPos>scrollinfo.nMax)  
    {  
    scrollinfo.nPos = scrollinfo.nMax;  
    break;  
    }  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    ScrollWindow(-10*5,0);  
    break;  
    case SB_THUMBPOSITION:  
    break;  
    case SB_THUMBTRACK:  
    ScrollWindow((scrollinfo.nPos-nPos)*10,0);  
    scrollinfo.nPos = nPos;  
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
    break;  
    case SB_ENDSCROLL:  
    break;  
    }  

    CDialog::OnHScroll(nSBCode, nPos, pScrollBar); 
     
     
     
    ===========================================================================================================

    水平和垂直中分别加入下列代码

    void CSystemdlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
    // TODO: Add your message handler code here and/or call default

    SCROLLINFO scrollinfo;
    GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    switch (nSBCode)
    {
    case SB_BOTTOM:
    ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10);
    scrollinfo.nPos = scrollinfo.nMax;
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    break;
    case SB_TOP:
    ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin)*10);
    scrollinfo.nPos = scrollinfo.nMin;
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    break;
    case SB_LINEUP:
    scrollinfo.nPos -= 1;
    if (scrollinfo.nPos<scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,10);
    break;
    case SB_LINEDOWN:
    scrollinfo.nPos += 1;
    if (scrollinfo.nPos>scrollinfo.nMax)
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,-10);
    break;
    case SB_PAGEUP:
    scrollinfo.nPos -= 5;
    if (scrollinfo.nPos<scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,10*5);
    break;
    case SB_PAGEDOWN:
    scrollinfo.nPos += 5;
    if (scrollinfo.nPos>scrollinfo.nMax)
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,-10*5);
    break;
    case SB_ENDSCROLL:
    // MessageBox("SB_ENDSCROLL");
    break;
    case SB_THUMBPOSITION:
    // ScrollWindow(0,(scrollinfo.nPos-nPos)*10);
    // scrollinfo.nPos = nPos;
    // SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    break;
    case SB_THUMBTRACK:
    ScrollWindow(0,(scrollinfo.nPos-nPos)*10);
    scrollinfo.nPos = nPos;
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    break;
    }

    CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
    }

    void CSystemdlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
    // TODO: Add your message handler code here and/or call default

    SCROLLINFO scrollinfo;
    GetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    switch (nSBCode)
    {
    case SB_LEFT:
    ScrollWindow((scrollinfo.nPos-scrollinfo.nMin)*10,0);
    scrollinfo.nPos = scrollinfo.nMin;
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    break;
    case SB_RIGHT:
    ScrollWindow((scrollinfo.nPos-scrollinfo.nMax)*10,0);
    scrollinfo.nPos = scrollinfo.nMax;
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    break;
    case SB_LINELEFT:
    scrollinfo.nPos -= 1;
    if (scrollinfo.nPos<scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    ScrollWindow(10,0);
    break;
    case SB_LINERIGHT:
    scrollinfo.nPos += 1;
    if (scrollinfo.nPos>scrollinfo.nMax)
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    ScrollWindow(-10,0);
    break;
    case SB_PAGELEFT:
    scrollinfo.nPos -= 5;
    if (scrollinfo.nPos<scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    ScrollWindow(10*5,0);
    break;
    case SB_PAGERIGHT:
    scrollinfo.nPos += 5;
    if (scrollinfo.nPos>scrollinfo.nMax)
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    ScrollWindow(-10*5,0);
    break;
    case SB_THUMBPOSITION:
    break;
    case SB_THUMBTRACK:
    ScrollWindow((scrollinfo.nPos-nPos)*10,0);
    scrollinfo.nPos = nPos;
    SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);
    break;
    case SB_ENDSCROLL:
    break;
    }

    CDialog::OnHScroll(nSBCode, nPos, pScrollBar);

    展开全文
  • 现在我来教大家怎么在VS2010中添加Active容器。用vs2010打开一个解决方案,路径为D:\Program Files (x86)\Microsoft Visual Studio 10.0\Samples\2052\VC2010Samples\C++\MFC\ole\TstCon,如下图所示。
  • 本人用vc+设计一个界面,想要添加的按钮控件直接打开指定的视频。怎么做 或者在好播放器的基础上怎么做 还有如果把视频放到编程的文件夹下,怎么能找到该视频,实现程序在不同的电脑里运行
  • VC怎么做ToolTip?

    2008-10-17 10:43:00
    ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。 一般用法步骤: 添加CToolTipCtrl成员变量 m_tt。 在父窗口中调用...
  • 最近在做一个小项目,想在自己的CXListCtrl类中实现单元格中可以有CheckBox。...在CodeProject网上查到了一个XListCtrl控件,但是太复杂,不会引用到VC 6.0中,求大婶支招。我的邮箱wmg715@163.com
  • 在MFC工具箱中添加自己编写的OCX然后把控件拖拽到对话框中添加,弹出错误信息提示: Debug Assertion Failed!Program:...les(x86)Microsoft Visual Studio10.0\Common7\IDE\devenv/.exeFile:f\dd\vctools\vc7libs\...
  • 没有证书ActiveX控件怎么在ie上运行

    千次阅读 2010-09-30 11:51:00
    在使用VC开发的OCX控件有时总被浏览器组织安装,下边是我总结的几个需要设置的地方:使IE浏览器允许安装VC OCX控件的设置方法(1)在浏览器菜单栏中,选择工具--》internet选项--》安全--》internet--》自定义级别中...
  • 怎么在自定义控件程序中添加新方法? 如下图所示: 类视图 -> 自定义控件LIB -> _D -> 右键添加方法/属性 => 属性添加向导 ACtiveX 自定义控件系列操作 动态加载 程序注册 等" alt="MFC ACtiveX 自定义...
  • activex 控件的使用经验

    千次阅读 2005-05-19 22:31:00
    第一次使用vc中的dbgrid control控件,可是发布到目标机器时,怎么都出错,明显是控件没有注册好.我一开始手动注册,后来又用install shield制作安装程序,依然解决不了问题.今天再次想添加这个控件时,意外加入了ms ...
  • MFC ActiveX 控件播放Flash

    千次阅读 2010-05-21 18:49:00
    我相信应该很多人搞过这个东西了. 本人在这方面是新手呢... 还有一个人为的难点, 就是网上的例子基本是VC 6.0搞的, 我用的IDE 是 VS2005, 所实话我一开始都不知道怎么添加 OnCreate 方法. 我的 VC6.0 装了用不了, 郁闷
  • 小弟在vc6.0中新建了个MFC工程,怎么在窗体上添加TextBox这些控件呢?谢谢了
  • 添加控件类到vc.net中 直接在类视图中,添加类->选择activex MFC类。。。注意哦。。 然后在dlg上插入activex控件。。。关联变量。。。 问题就出在关联变量的时候。类型总是一个我以前写的类型。。。选择变了啊...
  • VC8里添加了mschart控件不会像VC6中一样去自动帮你添加一些typelib的头文件等,那么在2005中怎么加这些相关的文件,否则真正操作ocx控件 解决方法: 工程右键 -》 add class -》 add MFC class from typelib -》 ...
  • VC技术点滴

    2012-03-26 17:04:58
    1. MFC中使用richedit控件  --在CxxxxAPP::InitInstance()函数中添加afxInitRichEdit()即可  2. mfc的对话框程序怎么加菜单栏  --在对话框头文件中声明CMenu 变量,例如m_Menu;  --在OnInitDlg()中加入如下语句: ...
  •  当我们为vc对话框上的控件添加事件时,不知道大家没有像我一样在双击控件,为其添加响应函数时,出现cannot add new member这样的提示信息,我想,可能有朋友遇到过。只要出现这种情况,那么在该对话无论你怎么...
  • 46、如何向编辑控件添加文本 47、如何访问预定义的GDI对象 48、如何获取GDI对象的属性信息  49、如何实现一个橡皮区矩形 50、如何更新翻转背景颜色的文本 51、如何创建一个具有特定点大小的字体 52、如何计算一个...
  • vc6.0与teechart的问题

    2015-04-23 13:28:52
    我程序都写得好好的,能运行结果也对,可就是在添加了teechart控件以后,什么代码都没写,只是想运行下,但是点运行,这下完了,程序一点反应没有,也不提示错误,啥也没有啊,真不知道这是怎么回事?请教高手指点,...
  • 双击VC对话框提示cannot add new member的解决方法 来源: 发布时间:2008-06-14 发布人: 浏览:909 人次 字体: [大 中小]   当我们为vc对话框上的控件添加事件时,不知道大家没有像我一样在...
  • GIF_OCX.zip 包括agif11、agif11a、agif11b、anigif四个32位OCX控件和CRACK文件,可用于在应用程序中添加动画GIF对象,十分漂亮、重点推荐(943KB)<END><br>101,MSGBLAST.zip WareWithAll公司出品的控件产品...
  • 如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的: 要增加一个组合框,需要完成以下步骤: 1.在工具栏资源中,增加一个对应ID资源号的按钮. 2.在主框架(mainframe.h)文件中,添加一个 ...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

vc怎么添加控件