要在基于对话框的窗体上创建一个菜单,我知道有很多文章介绍,但是好像很复杂,太难弄了,硬着头皮看了几次都看不下去,我要放弃

解决方案 »

  1.   

    See the sample below, useful, FYI :http://www.codeproject.com/menu/bcmenu.asp
      

  2.   

    直接在对话框资源的属性窗口里选择...或者用SetMenu()...不是可以吗???
      

  3.   

    首先在资源中Insert一个menu,假设ID号是IDR_MENU1,然后在对话框的InitDialog中添加如下代码:
    CMenu menu;
    menu.LoadMenu(IDR_MENU1);
    SetMenu(&menu);
    就可以了。
      

  4.   

    agree with upstairs
    you can modify dialog's style set it's menu
      

  5.   

    做一个MENU资源
    再到对话框属性面板里MENU框里把菜单资源ID选上
      

  6.   

    学BCB吧.VC开发界面的确有点啰嗦
      

  7.   

    首先在资源中Insert一个menu,假设ID号是IDR_MENU1,然后在对话框的InitDialog中添加如下代码:
    CMenu menu;
    menu.LoadMenu(IDR_MENU1);
    SetMenu(&menu);
    就可以了。
    这样在vc++里面可以
    但是我在win CE 中不行了,我想不通
      

  8.   

    是啊,系统底层打交道,但是问题是刚开始不可能太深入吧,我是一年多以前拿在学校学的,现在工作了要用,用了3个月了
    用它写了一个动态库供DEPHI调用,这个倒是好一点,因为没有用到vc++里面的函数什么的
    这次用他写一个界面上的东西,当然也不是主要写界面,主要用WIN CE开发一个终端系统,我主要做界面这一块,其他很多东西他们都提供动态库给我
    上次做一个TABCTRL 就做了两天,真是感觉太没有成就感了
      

  9.   

    :awanghero(念天地之悠悠,独怆然而悌下!) 
    我这样的人,是 什么样的人呢 ,我也在想,究竟能做下来?
    但是一个问题是肯定的,目前我肯定要做完这一块,因为这样公司肯定会
     CUT ME.
      

  10.   

    :tony1130(托尼)
    家都没得回了,1000多公里以外啊,
      

  11.   

    首先在资源中Insert一个menu,假设ID号是IDR_MENU1,然后在对话框的InitDialog中添加如下代码:
    CMenu menu;
    menu.LoadMenu(IDR_MENU1);
    SetMenu(&menu);
    就可以了。
    这样在vc++里面可以
    但是我在win CE 中显示不出来,我真想不通
      

  12.   

    我先学java,再学delphi,再学BCB,现在学VC。
    VC是最好的,如果你要做大工程的话。
      

  13.   

    不要灰心,慢慢来,是这样的,vb那些太容易了。想想,既可以用VC做界面,又可以用VC做内部的,感觉多好啊!
      

  14.   


     我也有同感,我学vc只有不到一个月的时间! 现在开始看doc/view这一方面.
     
     我觉得VC的界面确实很麻烦,但是我想VC的长处并不是在这里. 我想我还是会专心一意学VC.
     
     I 'm a student .
     
      
      

  15.   

    注意你的APP,不要用模式对话框,不然你的菜单UPDATE消息没得搞
    也不是说VC就不能做界面,我也用VC做界面啊,好的界面自己画,从CWnd来,一手包办也不错!自己HAPPY就行了,不要把困难老摆在自己面前,说这个不好那个不好,工具没有什么错啊,如果你NB那你就用BCB或者VB什么的做界面,用VC来做底层了,之前的调用会出什么问题就不知道了!
      

  16.   

    怎么在APP里面不用模式窗体,他默认得都是模式窗体,象下面这个我要怎么该
    CClrButtonsDlg dlg;
    m_pMainWnd = &dlg;
    int nResponse = dlg.DoModal();
    if (nResponse == IDOK)
    {// TODO: Place code here to handle when the dialog is
     //  dismissed with OK
    }
    else if (nResponse == IDCANCEL)
    {// TODO: Place code here to handle when the dialog is
     //  dismissed with Cancel
    }
      

  17.   

    1.CClrButtonsDlg::CClrButtonsDlg(CWnd* pParent /*=NULL*/)
      : CDialog(CClrButtonsDlg::IDD, pParent)
    {
        Create(CClrButtonsDlg::IDD);//加入這個就成了非模太的.
    }//你最好虛構一個函數把OnDestory的內容放到虛構裡面
    2.然後
        CClrButtonsDlg *dlg= new CClrButtonsDlg;
        dlg->ShowWindow(TRUE)...就可以顯示非模太的
        //關閉用FALSE.
      

  18.   

    说句实话,界面这个东西我到现在还不怎么搞得懂哈,呵呵。最开始学vc买了一堆书,全是教做界面的,看了半天也没明白多少,就搞懂了怎么做对话框。不过我对做界面本来就不敢兴趣。
    后来就研究线程/dll/win32api这些东西了。做软件的话,我认为还是功能第一,界面其次。何况就算你实在不会做界面,还可以用vb画,调vc写的dll或者用控件完成功能。据说office就是这么搞的? 呵呵
    一点点看法,有不同意见者欢迎抛砖
      

  19.   

    :Kevin_qing() 
      你从哪里得知哦OFFICE是这么搞得,看来我有浅薄了阿,但是现在用户都喜欢买漂亮的东西当然也要实用,我们这是为了客户的需要啊,
    线程我到现在还没有接触过,但是会有机会的
      

  20.   

    给yezhizi(zhizi) 
      你写给你男友的????你是男还是女???不会是g~~~~~~~
      

  21.   

    :asvaboy1980(蓝boy)
     当然是写给男友的了,怎么,不可能嘛,我觉得很好啊
      

  22.   

    :hup(点化生命) 
    还希望多多指点啊
      

  23.   


    好象一点也不难,加菜单只要设置属性就行,看看cj或是别的什么库,这些你可以到www.vccode.com去下,....不要太大man了,vc不是男人的专利,
      

  24.   

    如果你不是专业程序员.建议你用BCB或者delphi.
    大家不要用砖头砸我.这是我的亲身体会.
      

  25.   

    用什么都无专业之分...只是精不精了...
    delphi照样编出好程序,我本人认为delphi作界面可以,但不能认为它就陪做界面....
      

  26.   

    Delphi 做界面好爽啊,一个组件就能搞定,还是绿色软件。vc的优势在于资料非常多,非常全!
      

  27.   

    目标:成为VC达人!!!
    我用VC已经几年了,在大学里,界面我都叫别人做,他们还觉得轻松,好象占了个便宜。哈哈
      

  28.   

    好好学VC吧,“钱”途很大的。
    您一定能学会VC的我也一样。
      

  29.   

    用BCG或者CodeJocker的库,可以省很多事
      

  30.   

    :linhanzi(愚文)
    真有这么好的'钱途'吗,我想大概要一两年才能学好吧,
      

  31.   

    用BCG或者CodeJocker的库
    哪里有这个库呢,
      

  32.   

    网上可以找到的,用Google搜一下。做程序员不能太懒哦
      

  33.   

    可能您还没入门,到我的网站看看,http://idoor.xiloo.com 
    我做软件从不用第三方界面库(从2001年8月开始),
    可以做出漂亮的界面,看看我网上的 idoor 软件就知道。
      

  34.   

    还有一个我的源代码你可参考。http://idoor.xiloo.com 
    《Cell(VC实现的类Excel简易电子表格)源码》没有用任何第三方东西。
      

  35.   

    :cqjiang(蒋天书
    你那个EXCELL是基于文挡的吧,那我想要在LISTCTRL插入网格,怎么办
      

  36.   

    “那我想要在LISTCTRL插入网格”什么意思?
      

  37.   

    我用LISTCTRL控件,添加行和列时我想用网格把行和列隔开
      

  38.   

    yezhizi(zhizi) ( ) 
    我用LISTCTRL控件,添加行和列时我想用网格把行和列隔开以下是往ListCtrl中添加网格的小段程序在Cxxx.cpp的开始部分声明:
    const int NUM_COL = 4 ; //列数
    static _TCHAR *_sszColLabel[NUM_COL] =
    {
    _T("  列 名 1"), _T("  列 名 2"), _T(" 列 名 3") , _T("  列 名 4")
    };//左对齐
    static int _snColFmt[NUM_COL] = 
    {
    LVCFMT_LEFT, LVCFMT_LEFT, LVCFMT_LEFT, LVCFMT_LEFT
    };//列的宽
    static int _snColWidth[NUM_COL] = 
    {
    80, 100, 80 , 200  
    };m_FriendInfo是ListCtrl对应的变量,在ClassWizard中设。以下是对List的初始化函数:
    void Cxxx::InitList()
    { m_FriendInfo.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
    LV_COLUMN lvc;
    lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; for(int i = 0; i < NUM_COL; i++)
    {
    lvc.iSubItem = i;
    lvc.pszText = _sszColLabel[i];
    lvc.cx = _snColWidth[i];
    lvc.fmt = _snColFmt[i];

    m_FriendInfo.InsertColumn(i, &lvc);
    }
    // m_FriendInfo.SetItemCount(20);}在初使话对话框时:
    BOOL CVMAddressList::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    SetIcon(m_hIcon, TRUE); // Set big icon
    SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here
             InitList();
      
             return TRUE;  // return TRUE unless you set the focus to  a  control
                  // EXCEPTION: OCX Property Pages should return FALSE}