面对现实,超越自己
逆水行舟,不进则退
posts - 269,comments - 32,trackbacks - 0
拖动无标题的窗口可以重载WM_LBUTTONDOWN,添加如下代码:
SendMessage(WM_SYSCOMMAND,0xF012,0);

PostMessage (WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARAM(point.x , point. y ));
posted @ 2013-05-30 08:35 王海光 阅读(718) | 评论 (0)编辑 收藏
代码示例:
#define LWA_COLORKEY 0x00000001         //方式
#define WS_EX_LAYERED 0x00080000 

typedef BOOL (WINAPI *lpfnSetLayeredWindowAttributes)(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); 
lpfnSetLayeredWindowAttributes SetLayeredWindowAttributes; 

//设置成边缘透明 
COLORREF maskColor=#000000;

HMODULE hUser32 = GetModuleHandle("user32.dll"); //加载动态链接库
SetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes)GetProcAddress(hUser32,"SetLayeredWindowAttributes"); 

//取得SetLayeredWindowAttributes函数指针 
//为窗口加入WS_EX_LAYERED扩展属性
SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE)^WS_EX_LAYERED); 

//调用SetLayeredWinowAttributes函数
SetLayeredWindowAttributes(this->GetSafeHwnd(), maskColor, 192, LWA_COLORKEY); 

FreeLibrary(hUser32);   //释放动态链接库

以上代码加入OnInitDialog()中,其中 SetLayeredWindowAttributes(this->GetSafeHwnd(), maskColor, 192, LWA_COLORKEY); 里,maskColor为将进行透明处理的颜色, 192为透明度, LWA_COLORKEY为透明方式。

若要透明整个对话框,则LWA_COLORKEY=2;
若要对选定颜色透明,则LWA_COLORKEY=1;
   
本文转自:http://chenjiuliang.blog.163.com/blog/static/36572155201151735735374/
posted @ 2013-05-29 11:18 王海光 阅读(1741) | 评论 (0)编辑 收藏
1、导入Bitmap资源图片,
2、重载WM_PAINT ——>void CXXXDlg::OnPaint()
3、添加如下代码:
    CRect   rect;   
    GetClientRect(&rect);   
    CDC   dcMem;   
    dcMem.CreateCompatibleDC(&dc);   
    CBitmap   bmpBackground;   
    bmpBackground.LoadBitmap(IDB_BITMAP_TOOL);   //IDB_BITMAP_TOOL是你自己的图对应的ID 

    BITMAP   bitmap;   
    bmpBackground.GetBitmap(&bitmap);   
    CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);   
    dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,   
        bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);   

其他方法:
重写WM_ERASEBKGND消息
BOOL CxxDialog::OnEraseBkgnd(CDC* pDC) 
{
   // CDialog::OnEraseBkgnd(pDC);//忘记要不要执行父类的这个了.
    CDC  memdc;
    memdc.CreateCompatibleDC(pDC);
    CBitmap bmp;
    CBitmap *pOldBmp;
    BITMAP bm;//用来保存图片的长宽等信息

    bmp.LoadBitmap(IDB_BITMAP1);
    bmp.GetBitmap(&bm);

    //将图片选进缓冲区
    pOldBmp = (CBitmap *)memdc.SelectObject(&bmp);

    //如果图片跟对话框的客户区一样大,直接用BitBlt就可以
    
//pDC->BitBlt(0, 0, rcWnd.Width(), rcWnd.Height(), &memdc, 0, 0, SRCCOPY);

    
//如果图片比对话框的背景小,就要用StrechBlt来拉伸图片
    pDC->StrechBlt(0, 0, rcWnd.Width, rcWnd.Height(), &memdc, 0, 0, bm.bmWidth,bm.bmHeight, SRCCOPY);

   //释放DC
    memdc.SelectObject(pOldBmp);
    memdc.DeleteDC();

    return TRUE; 
}

其他方法:
http://blog.csdn.net/ply421600/article/details/6692967
posted @ 2013-05-29 11:02 王海光 阅读(3605) | 评论 (1)编辑 收藏
     摘要: 1、NameNode启动加载元数据情景分析
NameNode函数里调用FSNamesystemm读取dfs.namenode.name.dir和dfs.namenode.edits.dir构建FSDirectory。
FSImage类recoverTransitionRead和saveNameSpace分别实现了元数据的检查、加载、内存合并和元数据的持久化存储。
saveNameSpace将元数据写入到磁盘,具体操作步骤:首先将current目录重命名为lastcheckpoint.tmp;然后在创建新的current目录,并保存文件;最后将lastcheckpoint.tmp重命名为privios.checkpoint.
checkPoint的过程:Secondary NameNode会通知nameNode产生一个edit log文件edits.new,之后所有的日志操作写入到edits.new文件中。接下来Secondary NameNode会从namenode下载fsimage和edits文件,进行合并产生新的fsimage.ckpt;然后Seco  阅读全文
posted @ 2013-05-24 15:29 王海光 阅读(460) | 评论 (0)编辑 收藏
     摘要: 1、元数据(Metadata):维护HDFS文件系统中文件和目录的信息,分为内存元数据和元数据文件两种。NameNode维护整个元数据。  阅读全文
posted @ 2013-05-24 15:18 王海光 阅读(1006) | 评论 (0)编辑 收藏
1、今天调试一个demo,发现如下错误。

1>  系统找不到指定的文件。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy D:\WL_SDK_LAN_C++_20130521\demo\c++\Debug\Sample.exe D:\YuanTuo_1\wulianSDK\wulian_sdk_sample\SDK\Sample.exe
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 1.

可以修改下面属性:


 

2、VS2010编译错误:

fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x

fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.


下面是彻底解决方法:
在工程的stdafx.h中添加(如有类似语句,需注释掉)
#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.
#define WINVER 0x0501 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif

#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif

#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0501 // Change this to the appropriate value to target Windows Me or later.
#endif

#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.
#define _WIN32_IE 0x0601 // Change this to the appropriate value to target IE 5.0 or later.
#endif
posted @ 2013-05-22 17:57 王海光 阅读(3290) | 评论 (0)编辑 收藏
默认情况下,Windows的Notepad把文件保存为ANSI格式,在这种情况,设定不同encoding有不同的结果:
   encoding="GB2312" ,正常显示;
   encoding="UTF-8"   ,出错,提示文本内容中发现无效字符 ;

把xml文件在notepad另包存为UTF-8格式,
   encoding="GB2312" ,出错,提示不支持从当前编码到指定编码的切换;
   encoding="UTF-8"   ,正常;
例外:不设置encoding的值,默认就是UTF-8,所以把这种情况归入UTF-8的情况.
posted @ 2013-05-22 15:24 王海光 阅读(395) | 评论 (0)编辑 收藏
     摘要: 如何复制第5行到第10行并粘贴到第12行之后?方法1: 光标放到第五行, 输入:y6y 光标放到第12行, 输入:p 方法2: 命令行模式下输入 :5,10 co 12 方法3: 我一般都是 先移到第五行 d6 p 再移到12行  p 延伸一下, 有时候不想费劲看多少行或复制大量行时,可以使用标签来替代 光标移到起始行,输入ma 光标移到结束行,输入mb 光标移到粘贴行,输入mc...  阅读全文
posted @ 2013-05-09 09:44 王海光 阅读(3146) | 评论 (0)编辑 收藏
     摘要:  Ctrl+Alt+F7和startx 进入图形界面 cat /etc/issue      查看ubuntu版本号 cat /etc/lsb-release 查看ubuntu版本号 uname –a 或uname -r查看内核版本  top      查看CPU和内存...  阅读全文
posted @ 2013-05-06 16:29 王海光 阅读(504) | 评论 (0)编辑 收藏
     摘要: 本人用的版本:ubuntu10.04 .4,hadoop 1.0.4最近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文。首先要了解一下Hadoop的运行模式:单机模式(standalone)       单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模...  阅读全文
posted @ 2013-05-06 15:14 王海光 阅读(600) | 评论 (0)编辑 收藏
仅列出标题
共27页: First 4 5 6 7 8 9 10 11 12 Last