昨天和两个同学一起玩魔兽3C的时候,由于很长时间我都是躲在练功房里砍木头人升级,而这种体力活不需要我监视英雄的举动,所以我就不断地切出游戏去上网,这种行为弄得两个哥们十分郁闷。呵呵,谁让我是主机呢,于是就不断地出现掉线的情况。 过后我就在想,那么如何在游戏中限制用户这种动作呢,使得他无法利用’ WIN功能键”不断地切进切出。 下面就是我给出的一个解决方案,原理是:利用一个底层的
问题:我在视图画的图象或者文字,当窗口改变后为什么不见了?OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同?答:OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windows会发送两个消息WM_PAINT(通知客户区 有变化)和WM_NCPAINT(通知非客户区有变化)
利用这个就可以来制作类似MSN、QQ 的消息提示窗口. void CAboutDlg::OnOK() { // TODO: Add extra validation here AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_BLEND); CDialog::OnOK();}函数详解: BOOL AnimateWindow( HWN...
计算机屏幕是平面二维的,我们之所以能欣赏到真如实物般的三维图像,是因为显示在计算机屏幕上时色彩灰度的不同而使人眼产生视觉上的错觉,而将二维的计算机屏幕感知为三维图像。基于色彩学的有关知识,三维物体边缘的凸出部分一般显高亮度色,而凹下去的部分由于受光线的遮挡而显暗色。这一认识被广泛应用于网页或其他应用中对按钮、3D线条的绘制。对于本文所要绘制的3D文字同样也适用,即在原始位置显示高亮度颜...
今天用VS2005建立一个MFC项目,在运行时遇到下面这个找不到MFC80UD.dll的问题。 这个问题可能是Manifest 引起的,因此我们可以通过修改项目->属性->清单工具->输入输出,把“嵌入清单”选“否”,然后编译、链接、运行即可。
读了codeproject上的这篇《An introduction to bitwise operators》,前面两个运算符说得不错,但第三个异或运算符感觉不够准确,作者给出的示例不知道有什么用处,不就是把数做了两次异或又回来了么? &运算符用来判定某些位是0还是1: #include using namespace std;int main(void){ int num = 17; ...
核心对象: CImage m_imageFile; 绘制图片: void CFigureView::OnDraw(CDC* pDC){ CFigureDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CBrush ...
const int MAX_MENUCOUNT = 60,ITEMHEIGHT = 26,ITEMWIDTH= 120; //菜单项数量/**//*************************************CMenuItemInfo结构用于记录菜单项信息*************************************/struct CMenuItemInfo{ CSt
今天遇到一个很奇怪的问题:在vs2005中新建一个MFC程序,然后想在里面使用Skin++,在工程的stdafx.h里加入 #include “SkinPPWTL.h”, Linker->Input的Additional Dependencies处加上SkinPPWTL.lib就遇到下面的编译错误: error LNK2019: unresolved external symbol "
穷举法是最容易想出的解法,反正就是把所有能举出的子序列都算一遍和,找出最大的一个就是,复杂度O(N*N)。 对于分治法来说,“分“是比较简单的,对半分成求解左右两个序列的最大子序列,不过终止条件应该是什么呢?我的想法是到只剩一个元素的序列的话,直接返回这个元素就是了,可书上都是如果大于0,返回此元素,若小于0,则返回0,这里想不明白。最难的部分应该是“治”,要考虑跨左右
#define _AFXDLL#include #include #include using namespace std;class CSortStringArray : public CStringArray {public: void Sort();private: BOOL CompareAndSwap(int pos);};void CSortStringArray::Sor...
XBalloonMsg displays a message box using balloon-style tooltips. Message and title strings may be embedded or stored in string resource.
原文链接:CYABFFW: Yet Another BrowseForFolder Wrapper 以良好的MFC风格将Shell API函数SHBrowseForFolder()封装为一个CWnd子类。 使用示例1: CYABFFW dlg(); if (IDOK == dlg.DoModal()) { CString s = dlg.GetPath(); /...
原文链接:Bitwise Operation Explained 1.统计一个数置位为1的个数 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include int __numOf_SET_Bits(int var) { if (var=...
Win32中提供的创建目录的API函数--CreateDirectory只能创建单层目录,下面提供一个创建多级目录的方法: bool Utility::CreateMultipleDirectory(const CString& szPath){ CString strDir(szPath);//存放要创建的目录字符串 //确保以'\'结尾以创建最后一个目录 if (...
原文链接:FavIconizer 遍历文件夹工具类: class CDirFileList : publi
在C++中将字符串类转换为整型,浮点型并不像java,C#那样简单,这是件烦心的工作,而且不同的函数接口让代码维护起来也麻烦,所以写个自动进行字符串转换成所需要的类型的程序很有意义,下面这个类只有加入你想要的类型,并为之提供操作符重载就可以了。 注:如果你没有使用boost库,把#define USE_BOOST_LIBS注释掉 字符串转换类/** * @brief Class that
原文链接:Threads and Pipes in Console Apps 控制台程序中的线程和管道 问题是:如何创建一个可能阻塞的程序,但在阻塞的时候能当数据可读的时候从stdour和stderr中接收数据。本文的目的是展示如何在控制台程序中使用多线程。 子进程程序: int _tmain(int argc, _TCHAR* argv[]) { for(int i = 0; ...
管道是进程通信用的共享内存的一部分,有两种用于双向通信的管道:匿名管道和命名管道。前者使得有亲属关系的进程能传递信息,一般常用来重定向子进程的标准输入或输出,这样子进程就可以与其父进程交换数据。为了能双向通信,必须创建两个匿名管道。父进程使用管道的写句柄写入数据到第一个管道,而子进程使用管道的读句柄从第一个管道中读出数据。类似地,子进程写入数据到第二个管道,而父进程从第二个管道读取数据。匿名管道不
第一个MFC小程序,昨天把界面做了下,功能慢慢加吧。。。
加入了简单的画直线的功能,但画直线我直接用的: pDC->MoveTo(pStart); pDC->LineTo(pEnd); 并没有自己实现图形学课本中介绍的两种画直线的方法,因为我对这部分还不大理解,留待后续中加入,还有些小bug明天再说。。。 源代码下载
1,获取Posix IPC的名字 #include "unpipc.h"char* px_ipc_name(const char* name){ char* dir,*dst,*slash; if((dst = malloc(PATH_MAX))==NULL) return NULL;//分配失败 if((dir=getenv("PX_IPC_NAME"))==N
网上找了很多资料,有几个地方没注意,弄了一个上午才搭建好。。。 1, 安装Dev C++到D:\Dev-Cpp目录下 2, 从官网上下载qt-win-opensource-4.2.3-mingw.exe,安装到 D:\Qt目录下,注意这一步的选择: 3,“开始”—“所有程序”—“Qt4.2.3” —“Build Debug Libraries”或者进入D:\Qt\bi...
/**//* include globals */#include "unpipc.h"#define MAXNITEMS 1000000#define MAXNTHREADS 100 /**//* globals shared by threads */int nitems; /**...
如何知道进程在一个空消息队列中放入一个消息?如果阻塞在msgrcv调用中,则除了等待无法做其他事情,如果给msgrcv指定非阻塞标志(IPC_NOWAIT),尽管不阻塞了,但必须持续调用该函数来确定何时有消息到达,也就是采用轮询方式(polling),Posix消息队列允许异步事件通知来通知何时有消息放入到某个空消息队列中,有2种方式: 1)产生一个信号 2)创建一个线程执行一个指定函...
多个生产者,单个消费者,只考虑生产者之间的同步互斥 #include "unpipc.h"#define MAXNITEMS 1000000#define MAXNTHREADS 100int nitems; /**//* read-only by producer and consumer */struc...
void my_lock(int fd){ struct flock lock; lock.l_type = F_WRLCK; lock.l_whence = SEEK_SET; lock.l_start = 0; lock.l_len = 0; /**//* write lock entire file */ Fcntl(f...
头文件"registry.h" #include #include #include /**//** * \ingroup CommonClasses * Base class for the registry classes. */ class CRegBase { public: //methods /**//** * Removes the whole...
简单的枚举法应用
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1016 递归法:(简单但会超时。。。) #include #include #include using namespace std;void swap(int& a,int& b){ int tmp; tmp = a; a = b; b = tmp;}bool isPrime(...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号