随笔分类 - windows编程
MFC下的各种字符串类型和相互转换
摘要:MFC下的常用字符串数据类型表示的含义:L:Long 长 P:Point 指针 C:Const 常量 W:Wchar_t 宽字符 T:TCHAR STR:String 字符串在看看MFC下各种数据类型的定义: 1 typedef char *LPSTR; 2 typedef...
阅读全文
LRESULT与wParam和lParam的问题
摘要:在微软vc提供的头文件中有定义在winnt.h中typedef long LONG;在windef.h中typedef LONG LRESULT;所以LRESULT就是long,也就是长整形之所以取名类LRESULT,L=>longresult表示结果,说明这个函数的返回值是某个结果仅此而已WPAR...
阅读全文
Windows消息机制要点
摘要:1. 窗口过程 每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数) 2 消...
阅读全文
Windows 消息机制详解
摘要:总的来说:MSG包括:窗口句柄,指示MSG发送的目的窗口消息标识lPARAM、wParam发送时间发送时的鼠标位置关于消息队列:Windows系统有一个系统消息队列每个线程都有一个自己的消 息队列(由于发送消息MSG需 要提供一个窗口HWnd,而基 本有窗口的线程,都是UI线 程),因此基本上如果...
阅读全文
[转]有关USES_CONVERSION
摘要:转自:http://blog.csdn.net/p40614021/article/details/6778100ATL:转换宏是各种字符编码之间进行转换的一种很方便的方式,在函数调用时,它们显得非常有用。ATL转换宏的名称是根据下面的模式来命名的[源类型]2[新类型]或者[源类型]2C[新类型]。...
阅读全文
GetSystemMetrics
摘要:函数原型:int GetSystemMetrics( int nIndex // system metric or configuration setting ); 函数返回与系统有关的信息 常数定义取得信息SM_ARRANGE设置windows如何排列最小化窗口的一个标志。参考api32.txt...
阅读全文
]用EnumChildWindows遍历窗口的方法
摘要:最近项目有需要,得到一个非自己实现的窗口控件对象。于是想起曾经做过类似功能。总结如下: 调用EnumChildWindows(this->m_hWnd, EnumChildProc, NULL);遍历指定窗口的所有子窗口。这里就是遍历This->m_hWnd的所有子窗口。this从外部窗口继承,外部...
阅读全文
dll开发中遇到的问题
摘要:刚碰到个问题,我的一个项目中引用了一个dll,这个dll又引用了另一个dll,我把这俩个都放在bin文件夹下,但是会报错,说第二个dll找不到。把它放到系统文件夹system32下就没事了。但是遇到一个奇怪的问题,我的各部分代码是只有的:Text.cint plus(int a,int b){ re...
阅读全文
关于名称重整(name mangling)、多态性的一些简单介绍
摘要:在看GCC源码的时候看到mangles这个单词,于是google了一下。在面向对象编程语言出现之前,如果你想要打印不同类型的数据,需要写多个方法,例如PrintInteger(int i),PrintString(string s) 和 PrintFloat(float f) 。也就是说, 你必须通...
阅读全文
CFileDialog的用法
摘要:CFileDialog 在MSDN中的函数原形CFileDialog::CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL,DWORD dwFlags = OFN_HIDERE...
阅读全文
MFC编辑框换行实现
摘要:MFC中换行实现在mfc中编辑框允许输入多行时,换行符被表示为即“\r\n”,用ascii码表示为13 10如果为编辑框中想要输入换行,就请将编辑框的属性:Auto HScroll 设置为 FalseMultiLine 设置为 TrueWant Return 设置为 Truetxt文本框中的换行实现...
阅读全文
MFC通过对话框窗口句柄获得对话框对象指针
摘要:C***Dialog* pWnd= (C***Dialog*)FromHandle(hWnd); //由句柄得到对话框的对象指针 pWnd->xxx( ); //调用C***Dialog中的函数xxx();通过窗口类函数:CWnd *GetWindow获得窗口指针,pWnd->m_hWnd(Th...
阅读全文
AfxGetMainWnd()函数用法
摘要:CWnd* AfxGetMainWnd( ); 使用AfxGetMainWnd函数获取MFC程序中的主框架类指针是一个常用作法。就是获得应用程序主窗口的指针,AfxGetMainWnd()-> m_hWnd是主窗口的句柄。
阅读全文
this指针和m_hWnd的区别
摘要:m_hWnd①m_hWnd这个成员变量,最早是定义在类CWnd中,而且是类CWnd的第一个数据成员,先看一下MSDN的解析:ThehandleoftheWindowswindowattachedtothisCWnd.Them_hWnddatamemberisapublicvariableoftype...
阅读全文
WinAPI: FindWindow、FindWindowEx - 查找窗口
摘要:FindWindow( lpClassName, {窗口的类名} lpWindowName: PChar {窗口的标题}): HWND; {返回窗口的句柄; 失败返回 0}//FindWindowEx 比 FindWindow 多出两个句柄参数:FindWindowEx( Pare...
阅读全文
VC 各种情况下的窗口句柄的获取
摘要:动窗口的句柄。否则,返回值为NULL。GetSafeHwnd函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ExploreWClass”,NUL...
阅读全文
CreateEvent的用法
摘要:事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下:HANDLE CreateEv...
阅读全文
SetTimer函数的用法
摘要:什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数 了。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数...
阅读全文
HeapAlloc、GlobalAlloc和new等内存分配有什么区别么?
摘要:查找了一些 new , GlobalAlloc, HeapAlloc分配内存方式的区别。转了一些资料//===========================================================//下面是资料1:1. GlobalAlloc函数和new()的区别。1>ne...
阅读全文
shutdown 和closesocket
摘要:来,咱们彻底的来讨论一下这个shutdown 和closesocket从函数调用上来分析(msdn):一旦完成了套接字的连接,应当将套接字关闭,并且释放其套接字句柄所占用的所有资源。真正释放一个已经打开的套接字句柄的资源直接调用closesocket即可,但要明白closesocket的调用可能会...
阅读全文