现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-08-21 05:45 工业·编程 ⁄ 共 4622字 暂无评论
    MFC树控件未提供节点后加图标的方法,需要自己重绘来实现。主要方法是,响应NM_CUSTOMDRAW消息,在每个节点后添加自己要展示的图标。关于NM_CUSTOMDRAW消息的说明,见http://msdn.microsoft.com/en-us/library/ms833744.aspx。 显示效果,如下图。 1、实现源码 重绘树控件类CMyTreeCtrl。 MyTreeCtrl.h #pragma once //节点信息 struct NodeInfo {     NodeInfo()   &...
阅读全文
2012-08-21 05:42 工业·编程 ⁄ 共 5923字 暂无评论
1.下面请看几种枚举窗口的方式 一:利用GetWindow(ParentWnd, GW_CHILD); void FindAllChildWnd(HWND ParentWnd) { HWND hChild = ::GetWindow(ParentWnd, GW_CHILD); for(; hChild!=NULL ; hChild=::GetWindow(hChild,GW_HWNDNEXT)) {   TCHAR WindowText[30]={0};   ::SendMessage(hChild,WM_GETTEXT,(WPARAM)(sizeof(WindowText)/sizeof(TCHAR)),(LPARAM)WindowText);   TCHAR Class...
阅读全文
一.前言: 封装了一个类,可以很简单的使窗口移动时具有自动吸附停靠在屏幕边缘或自定窗口边缘的功能。 二.使用方法: 0.添加MoveWnd.h 和 MoveWnd.cpp 到你的工程 1.左键按下时(OnNcLButtonDown)调用 1.左键按下时调用: PrepareMoveWnd的第二个参数是想停靠的目标窗口 void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point) {   CMoveWnd::PrepareMoveWnd(m_hWnd,::GetParent(m_hWnd));   CDialog...
阅读全文
2012-08-21 05:35 工业·编程 ⁄ 共 1260字 暂无评论
o、前言     初学动态链接库时,总被许多概念搞得一塌糊涂,比如“隐式链接”,“动态加载”,lib静态库和lib导入库。虽然会用,但概念还是很模糊的。后来了解了编译和链接的一些原理,总算有一个比较清晰的理解,整理出来和大家分享。若有不对之处,还望斧正!谢谢! 五.总结 1.头文件并不参加链接和编译。编译器第一步要做的就是简单的把头文件在包含它的源文件中展开。不知你是否能理解这句话。也就是头...
阅读全文
2012-08-21 05:31 工业·编程 ⁄ 共 9552字 暂无评论
    在网上搜索很多关于拖动ClistCtrl中一项的文章,找到了一些,但却编译不了。有个例子不错,但总觉得不合适我的程序,于是自己下决心做一个,过程倒还挺顺利。现在拿出来和大家分享,希望对大家有所帮助。阿弥陀佛!^_^ 一、先上个图片个给大家看一下效果吧。 二、源代码下载 DragListCtrl_VC6.zip (VC6下编译通过,支持unicode) 三、几点说明 1.本例子只能在CListCtrl的报告样式中应用,其它样式的不行。 ...
阅读全文
2012-08-21 05:29 工业·编程 ⁄ 共 5217字 暂无评论
粘贴以下代码到一个控制台程序,运行! #include <iostream> #include <windows.h> #include <TCHAR.H> using namespace std; void GetFileNameInPath(const TCHAR* FilePath,TCHAR* FileNameBuf,UINT BufSize); void GetPathWithoutFileName (TCHAR* FilePath); void GetPathWithoutFileName (const TCHAR* FilePath,TCHAR* NewFilePath); void main() { TCHAR path[MAX_PATH]; _tcs...
阅读全文
2012-08-21 05:28 工业·编程 ⁄ 共 4010字 暂无评论
一、功能:     文本转成位图。 二、说明:     (1)记得添加头文件     #include <string>     using namespace std;     (2)可以修改每一行的最大字符个数     #define LINE_MAX 400 //一行最多的字符个数     (3)TAB制表符的默认宽度是8个字符。实际操作中还是不够精确 三、复制...
阅读全文
2012-08-21 05:23 工业·编程 ⁄ 共 2385字 暂无评论
一、当需要激活的窗口是其他程序的窗口时,很简单,如下:     HWND hWnd=::FindWindow("Notepad",NULL);     ::ShowWindow(hWnd,SW_RESTORE);     ::SetForegroundWindow(hWnd); 二、当需要设置的窗口是自己程序的窗口,上面的代码就无效了。原因如下:     Windows 9x/2000中SetForegroundWindow函数当用户正在操作其他窗口时是不能强制某个窗...
阅读全文
现在计算机就像买白菜一样,规格各异。有时候需要检测电脑的屏幕大小,以适应软件的需求。现总结如下,欢迎大家添加,一是增张我的见识,二是方便大家查询。   1.使用GetSystemMetrics()函数:如: int   cx   =   GetSystemMetrics(SM_CXFULLSCREEN); //得到宽度 int   cy   =   GetSystemMetrics(SM_CYFULLSCREEN); //得到高度 注意SM_CXSCREEN...
阅读全文
2012-08-20 06:45 工业·编程 ⁄ 共 2471字 暂无评论
冒泡排序又称起泡排序,这是一种简单效率最低的排序,也是大家非常熟悉。 下面看看,冒泡排序的是怎样工作: 我认为这种排序分为两两种:向上冒泡和向下冒泡: 一,向上冒泡:也就满足条件的向上冒泡,看一组数9 8 6 7 4 (假设是从小到大排序,反之一样) 因为是向上冒泡也就小的数往前走。 第一躺:4 9 8 6 7 第二躺:4 6 9 8 7 第三躺:4 6 7 9 8 第四躺:4 6 7 8 9 每一躺是把相邻的数比较,以第一躺为...
阅读全文