现在位置: 首页 > 所有2012年发表的文章
一、概念和区别  在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。      所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被拥有关系,后者称之为父/子关系。在这篇文字中,我把own...
阅读全文
2012-08-16 10:10 工业·编程 ⁄ 共 3160字 评论 1 条
    控件通知消息有很多种,但是有一种是很常用,但是又不是很容易掌握的,那就是WM_NOTIFY,我试着对此做一下比较全面的论述,有不对的地方,还希望各路大虾批评指正。 控件通知消息     在《深度解析VC中的消息(上)》中,我们提到了消息的分类有3种:窗口消息、命令消息和控件通知消息,我们这里要谈的是最后一种:控件通知消息。     控件通知消息,是指这样一种消息,一个...
阅读全文
2012-08-16 09:49 工业·编程 ⁄ 共 3387字 暂无评论
窗口风格对窗口有很多影响,我先简单将一些使用常见窗口风格的结果,展现如下。我们知道 · WS_BORDER   Creates a window that has a border. · WS_DLGFRAME   Creates a window with a double border but no title. · WS_CAPTION   Creates a window that has a title bar (implies the WS_BORDER style). Cannot be used with the WS_DLGFRAME style. · WS_THICKFRAME   Creates a w...
阅读全文
2012-08-16 09:43 工业·编程 ⁄ 共 811字 暂无评论
    首先,你要明白Windows对象和MFC对象的区别。MFC对象实际上并没有把整个Windows对象都包装在其中,它只是有一个窗口句柄而已,这个窗口句柄如果指向一个实际存在的窗口对象(窗口对象,也就是WNDCLASS,是一个Windows对象),那么这个MFC对象就是有效的,否则这个MFC对象是空的。     如果你还不明白,请回忆一下,当我们使用MFC创建一个窗口时,是分两步进行的,第一步,new一个CWnd对象,...
阅读全文
2012-08-16 09:36 工业·编程 ⁄ 共 3439字 暂无评论
1.在进行数据交换时一个子窗口可以和两种类型的变量相关联,一种是控件,另一种是数据类型。故可以通过控件控制子窗口,数据类型可以接收子窗口的值。 2.MB_ICONINFORMATION   :An icon consisting of an “i” in a circle appears in the message box. 3.CTabCtrl是一个直接从CWnd派生来的类. 4.如何把int转换成CString?如何把DWORD转换为CString? 答:int   i=123;    CString   ...
阅读全文
2012-08-16 09:34 工业·编程 ⁄ 共 1200字 暂无评论
本文将介绍一个未公开的Win32 API函数:GetTaskmanWindow,利用它对Windows的任务栏进行操作。这个函数返回拥有任务栏按钮的窗口句柄。在微软的MSDN文档中,对任务栏是这样描述的:"……Windows界面包含一个特殊的应用程序桌面工具栏,叫做任务栏。任务栏可以用于在打开的不同窗口之间进行切换,以及启动新的应用程序……。任务栏包含有开始菜单、任务栏按钮、快捷菜单和状态显示区……"。可惜在Win32 API的正式问当中没有...
阅读全文
1.枚举所有的进程 方法很多,这里用EnumProcesses这个方法 DWORD aProcesses[1024], cbNeeded, cProcesses; unsigned int i; if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )         return; cProcesses = cbNeeded / sizeof(DWORD); for ( i = 0; i < cProcesses; i++ )         PrintProcessNameAndID( aProce...
阅读全文
1.获取所有的驱动器 利用函数 GetLogicalDriveStrings The GetLogicalDriveStrings function fills a buffer with strings that specify valid drives in the system. DWORD GetLogicalDriveStrings(   DWORD nBufferLength,  // size of buffer   LPTSTR lpBuffer       // drive strings buffer ); 很简单的一个函数,msdn有详细的说明 需要注意的一点是 lpBuf...
阅读全文
    在SDK,进行windows程序设计(不使用mfc),使用这些控件,要进行一些必要的初试化,否则如果在对话框上画这些控件,对话框就不能正常显示     先说Rich Edit控件,这个是个特例。 如果往对话框里添加了一个Rich Edit控件,然后运行程序.理应弹出对话框,但是没有弹出. 如果把Rich Edit 控件去掉,再运行.对话框就可以弹出。 如果在mfc下进行开发,那么只要程序启动的时候添加AfxInitRic...
阅读全文
2012-08-16 07:47 工业·编程 ⁄ 共 628字 暂无评论
这段代码太好了,跟大家一起分享它。 //左上角到右下角画直线. // //caimouse 2007/02/11 // bool CSurface::LeftTopToRightBottom(int nXStart,int nYStart,int nDeltaX,int nDeltaY) { // int nDelta = CNOS_NS::Max(nDeltaX,nDeltaY); //计算判断符号,除2. int nError = nDelta>>1; // if (nDeltaX < nDeltaY) {   for (int i = 0; i < nDelta; i++)   { ...
阅读全文