您的位置:首页 > 其它

写程序的一些记录

2015-09-18 09:57 232 查看
在做算法的时候,生日是一个三维数组,例如1993年10月5号。但我们可以利用long将其转化为一维,即1993 0010 0005。

模态对话框(ShowModal)会阻止消息传递。则可以改用Create和ShowWindow.

[code]使用一些自定义控件时,可以直接在资源视图内添加控件,然后在响应的对话框头文件定义控件,如
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();


消息函数直接在类向导内添加重写

[code]     - 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版本了。

[code]CString m_str;
GetDlgItemText(IDC_PRJNAME, m_str);
CStringA A_str;
A_str = m_str;
outfile << A_str << "\n";


获取子对话框的另一种方法:

[code]CWnd *wnd = FindWindow(NULL,_T("ObjectARX Dialog"));
if (wnd == NULL)
{
    return 0;
}
CBlockViewDlg* BlockDlg = (CBlockViewDlg*)wnd;


对话框内一个控件中获取另一个控件的指针的方法:

[code]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()返回最后一个元素后面的指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: