写程序的一些记录

来源:互联网 发布:php发送post请求参数 编辑:程序博客网 时间:2024/05/14 02:29
  • 在做算法的时候,生日是一个三维数组,例如1993年10月5号。但我们可以利用long将其转化为一维,即1993 0010 0005。
  • 模态对话框(ShowModal)会阻止消息传递。则可以改用Create和ShowWindow.
使用一些自定义控件时,可以直接在资源视图内添加控件,然后在响应的对话框头文件定义控件,如CGsPreviewCtrl mPreviewCtrl; 然后在对话框的.cpp文件的初始化函数内添加如下代码if (!mPreview2Ctrl.SubclassDlgItem(IDC_VIEW2,this))        return FALSE;或者使用DoDataExchange函数内添加DDX_Control(pDX, IDC_LIST1, m_EditCtrl);
  • CListCtrl为报表(Report)类型时,要隐藏表头。
    在VC中设置CListCtrl的属性时,勾选“No column header”。
    或动态创建CListCtrl时,style中加上“LVS_NOCOLUMNHEADER”属性
  • 使用Rich Edit 2.0 Control时遇到了对话框不能正常弹出的问题,要在初始化对话框之前先初始化Edit 2.0。在acrxEntryPoint.cpp内的ARX初始化函数里添加一句如下代码就可以正常弹出对话框AfxInitRichEdit2();
  • 消息函数直接在类向导内添加重写
     - CWnd *wnd = GetDlgItem( IDC_RICHEDIT21 );     - wnd->MoveWindow(7, 40, cx/2 - 7, cy - 47);     //重写的onsize()函数,四个参数分别是当前窗口的左上点坐标的x和y,后两个是当前窗口的宽和高。     CRect rect;     wnd->GetWindowRect (rect);     wnd->MoveWindow(7, cy - 30, rect.Width(),rect.Height());     //这样就可以保持和变化之前控件的大小
  • WM_MOUSEWHEEL消息是发给具有焦点的控件的,而对话框本身是没有焦点的,只有对话框上面的控件具有焦点时,OnMouseWheel才会被调用。
  • 利用CStringA实现Unicode和ANSI之间的转换, 这样就可以把Unicode版本字符串转为ANSI版本了。
CString m_str;GetDlgItemText(IDC_PRJNAME, m_str);CStringA A_str;A_str = m_str;outfile << A_str << "\n";
  • 获取子对话框的另一种方法:
CWnd *wnd = FindWindow(NULL,_T("ObjectARX Dialog"));if (wnd == NULL){    return 0;}CBlockViewDlg* BlockDlg = (CBlockViewDlg*)wnd;
  • 对话框内一个控件中获取另一个控件的指针的方法:
CWnd *wnd ;CWnd* Pwnd = GetParent();Pwnd = Pwnd->GetParent();//先获取对话框的指针wnd = Pwnd->GetDlgItem(IDC_LISTBOX);    //GetDlgItem()是用来获取控件指针的,试过拿去获取对话框的指针,无效。
  • 给对话框添加菜单的时候,在资源内写好菜单,然后在对话框属性框里将菜单的ID关联一下就行。
  • 在做List Control中添加一个ComboBox的时候,动态创建ComboBox的时候遇到了一个奇葩的问题,就是每次点击ComboBox的时候,下拉列表能够出来,但是我不对下拉列表进行选择,而去点击别的区域使ComboBox失去焦点,此时ComboBox的CulSel会变成-1。找了半天才发现,我之前是将SetCulSel放到了ShowWindow后面,导致了不能正常地对ComboBox进行选择。m_combTemp.SetCurSel(n);
    m_combTemp.ShowDropDown(TRUE); //添加这一句表示点一下就可以弹出下拉框
    m_combTemp.ShowWindow(SW_SHOW);

  • 在List控件上添加ComboBox的时候,只需要在资源内拖一个ComboBox到List上,并设置为隐藏。然后在代码里设置什么时候显示以及在ComboBox内添加哪些选项,还可以对ComboBox添加事件监控事件,并作出相应的相应。

  • 使用vector的时候back()能够返回最后一个元素,而end()返回最后一个元素后面的指针。
1 0
原创粉丝点击