现在位置: 首页 > 所有2012年发表的文章
常规标签页负责显示窗口句柄、窗口类名、标题文本、窗口矩形、窗口ID、进程ID和程序路径。控制其显示或改变应在CMyPic的WM_LBUTTONUP响应函函数中进行。代码如下: ((CPage0*)FromHandle(g_hPage0))->m_editHWND.SetWindowText(Display((int)g_hWnd)); char strClass[200]="\0"; ::GetClassName(g_hWnd,strClass,200); ((CPage0*)FromHandle(g_hPage0))->m_editCLASS.SetWindowText(strClass); ((CP...
阅读全文
选项卡控件中,5个标签页对应5个属性页对话框,与它们关联的类分别取名为CPage0、CPage1、CPage2、CPage3、CPage4。在CSpyXXDlg中建立私有成员变量m_page0、m_page1、m_page2、m_page3、m_page4。在其初始化过程中建立这5个属性页对话框: m_page0.Create(IDD_OLE_PROPPAGE_LARGE,GetDlgItem(IDC_TAB1)); m_page1.Create(IDD_OLE_PROPPAGE_LARGE1,GetDlgItem(IDC_TAB1)); m_page2.Create(IDD_OLE_PROPPAGE_LARGE2,GetDlgIt...
阅读全文
第一个复选框是"总在最上面",代码如下: void CSpyXXDlg::OnChktop() {     int nTop=((CButton*)GetDlgItem(IDC_CHKTOP))->GetCheck();     if(nTop==1)         :: SetWindowPos(m_hWnd,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);     else         ::SetWin...
阅读全文
    打开VC集成开发环境,建立一个基于对话框的工程。我们把这个工程取名为SpyXX。在窗体中画上一个图片框控件(Picture)、一个静态文本控件(Static)、两个复选框控件(Check Box)和一个选项卡控件(Tab Control)。界面设计如下图。 探测器的制作需要两个图标文件(.ico)和一个鼠标光标文件(.cur),分别用于正常状态下的显示、鼠标拖出时的显示以及拖出时的鼠标指针;这些资源哪里来啊?Spy++中就有啊,用eXeScope...
阅读全文
2012-09-12 19:50 工业·编程 ⁄ 共 2741字 暂无评论
为了实现菜单的自绘,花了我几个小时,其实真正解决后又发现很简单。实现菜单的自绘只需要三个步骤: 第一步:将所有菜单项设置为MF_OWNERDRAW,即自绘模式 第二步:在WM_MEASUREITEM消息中设置菜单项的大小 第三步:在WM_DRAWITEM消息中进行菜单项的绘制 问题首先出现在了第一步,我要绘制的是一个上下文菜单,即右键菜单,要将菜单项设置为MF_OWNERDRAW,需要用到ModifyMenu函数,起始由于ModifyMenu函数的参数设置错误,导致...
阅读全文
2012-09-12 19:49 工业·编程 ⁄ 共 3439字 暂无评论
VC中在listctrl中嵌入进度条,截图如下: 其实要实现这个非常容易,以下是自绘ListCtrl的代码,首先继承CListCtrl, 然后增加函数OnCustomDraw: void CProcessList::OnCustomDraw(NMHDR *pNMHDR, LRESULT *pResult) { //draw each item.set txt color,bkcolor.... NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR); // Take the default processing unless we set this to somet...
阅读全文
2012-09-12 19:46 工业·编程 ⁄ 共 4692字 暂无评论
CRectTracker(俗称“橡皮筋”类)是一个非常有意思的类。你在Windows中经常看到这样的情况:它可以用做显示边界,你也可以扽它的八个角用来放大缩小,或做框选使用。如何通过编程来实现这种功能呢?这就是CRectTracker类的作用。 例子(源程序) 你打开上面的那个工程文件,编译运行一下。你将看到CRectTracker的几种功能;  下面让我们来从头做一个新的工程文件,来慢慢掌握它的功能吧。 建立一个单文档的工程文件,...
阅读全文
2012-09-12 19:31 工业·编程 ⁄ 共 1222字 暂无评论
1,删除一个元素 比如:vector vecID; 中保存了m个ID,这时要删除第n个ID。 遍历是一个方法;即vector::itertor it = vecID.begin(); 然后++it n次。 更好的方法是:vector::itertor it = vecID.begin() + n; vector的迭代器直接支持这种偏移。 然后用vecID.erase(it)方法 删除该元素。 2.去除一个容器中有特定值的所有对象 1)如果容器是vector、string或deque,使用erase-remove惯用法,例如 c.erase(remove(c.begin(), c.end...
阅读全文
2012-09-12 18:58 工业·编程 ⁄ 共 2679字 暂无评论
如何为我的游戏实现一个UI系统,这个问题我想了很久,不过我现在可不像开始的时候那样一点思路也没有。如果你也被这个问题所困扰,我十分乐意与你分享这几天来的学习成果。嘿嘿,我是不是有点得意忘形了? 在开始之前,我要提醒你,学而不思则惘。在看这篇文章的时候,请时刻保持头脑清醒,如果有什么不太明白的话,请停下一两分钟,好好想想,这篇文章可不是囫囵吞枣就能看懂的哦!此外这篇文章是建立在部分实例和猜测的基础上...
阅读全文
2012-09-12 11:55 战略·谋略 ⁄ 共 2954字 暂无评论
2012年本是亚洲两大强国中国和日本建交四十周年纪念日。然而9月11日,日本政府以签署够买钓鱼岛的合同为标志宣示自己对钓鱼岛的主权,从而将中日关系打入了底谷,突破了中国政府的底线。而七天后,就是“九一八”国耻纪念日! 正如很多评论家所指出的,日本此举意在赌博。9月21日日本执政的民主党将举行党首选举,民意支持率低迷的野田佳彦期待借此博得连任。他们赌的,是中国即将举行十八大,定无暇外顾(最新一期《亚洲周刊》的...
阅读全文