写程序的一些记录
2015-09-18 09:57
232 查看
在做算法的时候,生日是一个三维数组,例如1993年10月5号。但我们可以利用long将其转化为一维,即1993 0010 0005。
模态对话框(ShowModal)会阻止消息传递。则可以改用Create和ShowWindow.
CListCtrl为报表(Report)类型时,要隐藏表头。
在VC中设置CListCtrl的属性时,勾选“No column header”。
或动态创建CListCtrl时,style中加上“LVS_NOCOLUMNHEADER”属性
使用Rich Edit 2.0 Control时遇到了对话框不能正常弹出的问题,要在初始化对话框之前先初始化Edit 2.0。在acrxEntryPoint.cpp内的ARX初始化函数里添加一句如下代码就可以正常弹出对话框
消息函数直接在类向导内添加重写
WM_MOUSEWHEEL消息是发给具有焦点的控件的,而对话框本身是没有焦点的,只有对话框上面的控件具有焦点时,OnMouseWheel才会被调用。
利用CStringA实现Unicode和ANSI之间的转换, 这样就可以把Unicode版本字符串转为ANSI版本了。
获取子对话框的另一种方法:
对话框内一个控件中获取另一个控件的指针的方法:
给对话框添加菜单的时候,在资源内写好菜单,然后在对话框属性框里将菜单的ID关联一下就行。
在做List Control中添加一个ComboBox的时候,动态创建ComboBox的时候遇到了一个奇葩的问题,就是每次点击ComboBox的时候,下拉列表能够出来,但是我不对下拉列表进行选择,而去点击别的区域使ComboBox失去焦点,此时ComboBox的CulSel会变成-1。找了半天才发现,我之前是将SetCulSel放到了ShowWindow后面,导致了不能正常地对ComboBox进行选择。
在List控件上添加ComboBox的时候,只需要在资源内拖一个ComboBox到List上,并设置为隐藏。然后在代码里设置什么时候显示以及在ComboBox内添加哪些选项,还可以对ComboBox添加事件监控事件,并作出相应的相应。
使用vector的时候back()能够返回最后一个元素,而end()返回最后一个元素后面的指针。
模态对话框(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()返回最后一个元素后面的指针。
相关文章推荐
- C++ 继承中的一个小知识点
- 222 Count Complete Tree Nodes
- js函数和运算符
- KbmMW-及相关
- std::map用法
- 微软:我家的深度学习超越了人类和Google
- ORACLE数据库的导入导出(网上看了无数教程,感觉不好用,自己便总结了一下)
- TF-IDF与余弦相似性的应用(一):自动提取关键词(转)
- 需要学习的东西~
- PS图片做羽化效果banner
- maven工程如何添加lpom.xm lib下的Jar包文件
- Quartz 2D 画图
- python集合类型方法
- 通过调用第三方API,查询身份证信息
- 几种常用的JS类定义方法
- <Java 并发编程实践>读书笔记 --- 重排序
- 在Cocos Code IDE里打开cocos2d-x自带的lua测试项目 lua-tests
- php辨别安卓 ios
- git学习总结
- 函数指针(Day-10)