摘要: 开发过程中经常遇到Array<byte>^ 转成 WriteableBitmap^的问题。刚好抽空写个方法,让大家参数。首先:byte*BufferFromWriteableBitmap(WriteableBitmap^bitmap){IUnknown*pUnknown=reinterpret_cast<IUnknown*>(bitmap->PixelBuffer);IBufferByteAccess*pBufferByteAccess=nullptr;HRESULThr=pUnknown->QueryInterface(IID_PPV_ARGS(& 阅读全文
posted @ 2013-04-22 17:09 sinian 阅读(303) 评论(0) 推荐(0) 编辑
摘要: class Concrete{public: int a; void Print() { printf("******** Hello World***************\n"); } void PrintError() { val = 10; }private: int val;};void main(){int i =100; Concrete* pC = (Concrete*)i; //理论上这种强制转换 是 不合理的。 pC->Print(); //可是调用这个,却没问题 pC->PrintError()// 会出错}为什么会出现这种情况呢??原来 阅读全文
posted @ 2013-01-25 22:54 sinian 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 今天看了一篇模块, 里面讲到了引用和指针。http://blog.csdn.net/wangqiulin123456/article/details/8464418这里我谈下自己的感受吧。.引用与指针有什么区别?1)引用必须初始化,指针不必。2)引用初始化之后,就不能改变了。 指针可以改变所指的对象。3)不存在指向空值的引用,但是存在指向空值的指针。指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。引用使用时无需解引用(*),指针需要解引用;int _tmain(int argc, _TCHAR* argv[]) { int m = 100; int &n = m; m 阅读全文
posted @ 2013-01-25 22:39 sinian 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 最近在学习 windows api 编程, 在学习过程中用到了很多 HWND ,HANDLE 等。查看了定义才发现其实就是 void*在头文件中 有一个宏#define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name这个到底是什么意思呢?其实可以把 ## 看成是 黏贴 连接符, 把上面翻译出来就是:比如外部调用了 DECLARE_HANDLE(HMYHANDLE);struct HMYHANDLE_{ int unused;};typedef struct HMYHANDLE_*H 阅读全文
posted @ 2013-01-22 17:27 sinian 阅读(487) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/k-eckel/articles/188489.html今天看了这篇博客, 感觉很不错。 转载了深入分析MFC文档视图结构(项目实践) k_eckel:http://www.mscenter.edu.cn/blog/k_eckel文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Docume 阅读全文
posted @ 2012-12-26 10:47 sinian 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 比如一个UNC路径为 string path = @"\\WUMI_LIU_PC1\Users\1.pdf";string[] readText = File.ReadAllLines(path, Encoding.UTF8); //这样就可以读取到 path 路径下的文件了。这是在C# 中的使用。 按照这个思路, 在 htm 中 也这么使用这个路径。发现 打不开这个路径的文件。后来通过调试,发现在C# 中, string path = @"\\WUMI_LIU_PC1\Users\1.pdf";其实是 \\\\WUMI_LIU_PC1\\Users\\ 阅读全文
posted @ 2012-12-14 16:18 sinian 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 考:http://blog.csdn.net/zhmxy555/article/details/7335103将位图从文件加载带绘图窗口中必须经过一下几个步骤。<1>从文件中加载位图对象<2>建立一个与窗口DC兼容的内存DC<3>内存DC只用步骤1中所建立的位图对象<4>将内存DC的内容粘贴到窗口DC中,完成显像操作要从文件加载位图,常常使用LoadImage()函数。HANDLE LoadImage( HINSTANCE hinst, //包含目标位图的DLL或exe文件的模块句柄LPCTSTR lpszName,UINT uType, int 阅读全文
posted @ 2012-12-11 13:11 sinian 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 前面已经熟悉了 简单的API 应用程序的编写了。今天要掌握的是,Windows数据类型 。 Windows API 使用了很多 Windows 自己定义的数据类型。读者可能较为熟悉 C 语言或 C++语言的数据类型。要熟练使用 Windows API 必须要熟悉 Windows 数据类型。这些数据类型是Windows 特有的。在 SDK 的相关头文件中有定义。在众多的Windows 数据类型中,最常用的有 DWORD、HANDLE、LPTSTR、WORD、BYTE、 CHAR 等。在 Windows 系统中,DWORD用于表示无符号整型的数据,意为 double word,32位。在一般情况下 阅读全文
posted @ 2012-12-02 15:29 sinian 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 由于工作,需要,准备开始 学习一下 Windows API 编程。 主要是从 精通 WinowsAPI 这个书籍入手的, 很多东西,都是参考或者借鉴原文的。首先需要添加 #include <WINDOWS.H> 这个头文件#pragma comment(lib,"User32.lib"); 引入库。 如果是用vc6 的工程,默认是添加了这个库了。所有的函数的入口都是 从main 开始的。WinMain 就是函数的入口int WINAPI WinMain(HINSTANCE hInstance, //当前程序的句柄HINSTANCE hPrevInstance, 阅读全文
posted @ 2012-12-02 15:11 sinian 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved external symbol “symbol”(不确定的外部“符号”)。 如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所... 阅读全文
posted @ 2012-11-28 10:02 sinian 阅读(194) 评论(0) 推荐(0) 编辑