随笔分类 - vc++/c/mfc/vc
vc++/c/mfc/vc......
摘要:网上收集的: void CMyDlg::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default if(m_nMyHitTest == 20)//当鼠...
阅读全文
摘要:函数功能描述:用这个函数能够获得指定窗口的信息 函数原型: LONG GetWindowLong( HWND hWnd,int nIndex ) 参数: hWnd:指定窗口的句柄 nIndex:需要获得的信息的类型 值 功能 nIndex取值如下: GWL_EXSTYLE 得到扩展的窗口风格 GWL_STYLE 得到窗口风格 GWL_WNDPROC ...
阅读全文
摘要:CButtonST类是我们经常用到的一个很好的按钮扩展类,他的广泛用法可以让我们应用在很多的领域,尤其是设计界面的时候.但这个类很大,作的函数功能也很多,我整理了一下,希望对大家能更快的理解和使用他起到帮助作用. 以下是CButtonST类的所有公共成员函数(函数名按音序排列先后): ...
阅读全文
摘要:我從CButton派生出一個個自已的類CMyButton 然後在窗體中聲明一個 CMyButton m_btnTest; 然後在窗體的OnInitialDialog中寫 m_btnTest.Create(..., WS_CHILD|WS_VISIBLE,...); 再CMyButton::PreSubclassWindow() ...
阅读全文
摘要:下面是开始的设置,方便有这个需求的朋友使用. :) GDI+是什么? GDI+ 是面向 C/C++ 程序员的基于类的应用程序编程接口 (API)。它使应用程序可以 将图形和格式化文本同时用于视频显示和打印机。GDI+ 代表应用程序与设备驱动程序 进行交互。GDI+ 还支持 64 位 Windows 操作系统。 vc6中如何安装? 一种方式是安装.net platform sdk,里面就会包含GD...
阅读全文
摘要:SDK编程中窗口ID,句柄,指针三者相互转换函数 ID--HANDLE--HWND三者之间的互相转换 id->句柄-----------hWnd = ::GetDlgItem(hParentWnd,id); id->指针-----------CWnd::GetDlgItem(); 句柄->id-----------id = GetWindowLong(hWnd,...
阅读全文
摘要:经常有朋友问雷神这样的问题: 我在视图画的图象或者文字,当窗口改变后为什么不见了? OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同? 雷神在这里一并解答一下吧。 OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。 至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windows回发送两个消息WM_PAINT(通知客...
阅读全文
摘要:一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静 态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束释放 4另外还有一个专门放常量的地方。 - 程序结束释放 在函数体中定义的变量...
阅读全文
摘要:摘要:
调用约定 压参数入栈顺序 把参数弹出栈者 函数修饰名
(Calling convention)
--------------------------------------------------------------------------------------------------------
__cdecl 右->左 调用者 _function
__fastcall 右->左 被调用者 @function@nnn
__stdcall 右->左 被调用者 _function@nnn
__pascal 左->右
阅读全文
摘要:__cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要注意了,只有用相同的方法才能够调用成功.另外,像printf这样接受可变个数参数的函数只有用cdecl才能够实现. 简单但重要的说: _cdecl(c/c++缺省的,...
阅读全文
摘要:PASCAL就是__stdcall,参数从右向左压栈,并由函数自己清空堆栈 C++中一个函数有几部分组成: 顺序如下: inline 返回值 调用方式 作用域 函数名 参数表 例: inline int __stdcall CClass::Foo( int nParam ) =======...
阅读全文
摘要:下边是网上收集到的 const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char * const cp; ( * 读成 pointer...
阅读全文

浙公网安备 33010602011771号