现在位置: 首页 > VC
2012-07-17 06:59 工业·编程 ⁄ 共 2693字 暂无评论
今天在看一个代码里头写了GetWindowLong (hwnd, 0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第2个参数为0是指什么,MD,很恼火,最近终于在一个 国外网站找到,我在这篇文章贴了,网站是http://www.codeguru.com/forum/archive/index.php/t-243778.html 先收集所有关于此函数的使用方法以及程序代码希望后来的人看到我的这篇文章能感动哈: 函数功能描述:用这个函数能够获得指定窗口的信息 函数原型: LONG ...
阅读全文
2012-07-17 06:58 工业·编程 ⁄ 共 510字 暂无评论
afx_msg void OnOutPutStatusButtonUp (WPARAM wParam, LPARAM lParam); BEGIN_MESSAGE_MAP(CIOStatue, CDialog) //{{AFX_MSG_MAP(CIOStatue) //}}AFX_MSG_MAP ON_COMMAND_RANGE(IDC_STATIC_OUT1,IDC_STATIC_OUT16,OnOutPutStatusButtonUp) END_MESSAGE_MAP() //注意IDC_STATIC_OUT1,IDC_STATIC_OUT16之间是连续的 void CIOStatue::OnOutPutStatusButtonUp(WPARAM wParam, LPARAM lParam) ...
阅读全文
2012-07-17 06:57 工业·编程 ⁄ 共 10257字 暂无评论
线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态是需要以时间...
阅读全文
    很多人使用线程的时候,都喜欢在线程内画图。如果在线程内画图,程序就很容易出错,而且还是那种没有任何响应和提示的错误问题.例如,一个复制文件的程序,这个程序由两个线程组成,一个是复制文件的线程,一个是显示文件复制进度的线程。理论上这个程序没有什么问题。但是,这个程序有一个很大的隐患,就是主程序也可能某一时刻要更新这个进度条,例如,进度窗口被其他窗口挡住后或窗体,这个窗体就要刷新...
阅读全文
2012-07-17 06:55 工业·编程 ⁄ 共 11525字 评论 1 条
由于CListCtrl良好的数据展示形式和便捷的操作,所以我们在编程工作中会经常用到,网上找到一片不错的总结,估计对于一般的使用场景够用的。还有其他需求,我们可以再探索讨论。 以下未经说明,listctrl默认view 风格为report 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资...
阅读全文
2012-07-16 22:00 工业·编程 ⁄ 共 2404字 暂无评论
DDX:Dialog Data Exchange     如果使用DDX机制,一般会在OnInitDialog消息处理函数或Dialog构造函数中,为对话框对象的成员变量设置了初始值。在对话框显示前,框架的DDX机制将成员变量的值传给对话框中的控件,当调用DoModal或Create函数,对话框即将显示时,这些值也就显示在相应的控件上。     CDialog类的成员函数OnInitDialog的默认实现中,调用CWnd类的UpdateData成员函数来初始化对话框...
阅读全文
2012-07-16 21:50 工业·编程 ⁄ 共 908字 暂无评论
UpdateData,顾名思义,是用来刷新数据的。     1. Updatedata(TRUE):将控件的值赋值给成员变量,即用窗体上控件中的内容来更新和控件相关联的变量的值(只能更新value类型的变量)。     2. Updatedata(FALSE):将成员变量的值赋值给控件,和上面的正好相反。     3. 当你使用了ClassWizard建立了控件和变量之间的联系后,当你修改了变量的值,而希望对话框控件更新显示,...
阅读全文
2012-07-16 21:47 工业·编程 ⁄ 共 422字 暂无评论
    DDX_TEXT()的作用可以理解为把字符串变量和控件的文本(WindowText)关联起来;     DDX_Control()的作用可以理解为把变量和控件本身关联起来;      DoDataExchange(pDX)就是处理所有变量与其关联控件交换数据的函数。 void CView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); DDX_Text(pDX, IDC_ID_VALUE, m_strID); ...
阅读全文
2012-07-16 21:30 工业·编程 ⁄ 共 579字 暂无评论
voidCAsTestToolsDlg::DoDataExchange(CDataExchange*pDX) {     CDialog::DoDataExchange(pDX);     DDX_Control(pDX,IDC_MAINTREE,m_Treemain);     //IDC_MAINTREE是树控件的ID,m_Treemain是树控件对应类的对象 } 自己的理解: 1.变量和控件进行绑定 2.通过修改变量的数值控制控件操作。 问题一:上面这句有什么作用呢? 问题二:都...
阅读全文
2012-07-14 23:15 工业·编程 ⁄ 共 386字 暂无评论
之前没有使用过Rich Edit控件,以为它的使用方法和Edit Box一样。我建了一个单文档工程A,由A的一个菜单弹出对话框B,再由B的一个按钮弹出对话框C。 代码如下: void B::OnButton1() { CCdlg dlg; dlg.DoModal(); } 但是单击对话框B的按钮,对话框C一直没有弹出来.我很纳闷. 开始我以为是因为对话框C的控件太多了.对话框C有11个Edit控件,一个rich Edit控件,3个combo box,14个static text,3个按钮。为了证实我的想法,我又新建...
阅读全文