上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页
摘要: 最近在写一个控件CMenuButton,初衷是提供设置偏移量的接口,可是ASSERT总是中断,调试发现::GetClientRect()返回的rect都是0值。Google了一下,原来:Q:“为何在OnCreate调用取出的就是0 呢 ?在OnInitialUpdate中是可以调用的,返回数据也是正确的 ”A:“OnCreate时还没创建出客户区 ”void CMenuButton::SetOffset(int OffsetL, int OffsetR, int OffsetTop, int OffsetBottom){ //if out of client bound, then hold 阅读全文
posted @ 2013-11-26 12:23 Tup 阅读(685) 评论(0) 推荐(0)
摘要: WM_MOUSELEAVE是鼠标离开窗口时发出的消息,但是这个消息与普通的鼠标消息不同,要收到WM_MOUSELEAVE消息必须先调用TrackMouseEvent,并且每调用一次TrackMouseEvent窗口只能收到一次WM_MOUSELEAVE,也就说如果要获得WM_MOUSELEAVE消息的话,当鼠标重新进入窗口时必须调用一次TrackMouseEvent。staticBOOLbTrackLeave=FALSE;voidCMyWnd::OnMouseMove(UINTnFlags,CPointpoint){if(!bTrackLeave){//鼠标第一次移入窗口时,请求一个WM_MO 阅读全文
posted @ 2013-11-24 19:02 Tup 阅读(711) 评论(0) 推荐(0)
摘要: 看这段代码:... map mapAllVolumes; vector vecCheckedVolumes; CString cstrVolDesc; for(int i = 'c'; i (toupper(i), label)); //key using UpperCase }...结果:map里面所有key对应的都是最后一个插入的value再看下一段代码: CString str1; str1 = "C::::::::::"; mapAllVolumes.insert(map::value_type('C', str1.GetBuffer 阅读全文
posted @ 2013-11-20 19:25 Tup 阅读(2455) 评论(0) 推荐(0)
摘要: wcscpy_s是对应于wcscpy的安全版本。CString cstrVolDesc;wchar_t* label = new wchar_t[100];....//wcscpy_s(label, cstrVolDesc.GetLength(), cstrVolDesc.GetString());//error:"Buffer too small"wcscpy_s(label, cstrVolDesc.GetLength()+1, cstrVolDesc.GetString());..可见,使用wcscpy_s一定要保证目标字符串的大小一定要比源字符串大,而且第二个参数指 阅读全文
posted @ 2013-11-20 19:10 Tup 阅读(1983) 评论(0) 推荐(0)
摘要: memcpy是物理层次的复制 不管你类型是否统一 我就给你复制了^0^这里探讨下常见的情况:实例1: (LPCWSTR-->LPWSTR) ... LPCWSTR strConst = L"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; LPWSTR strNormal = new WCHAR[50]; memcpy(strNormal, strConst, 10);//乱码 ... 这说明:从小的size复制到大的size,只复制少部分字符,是不行的。实例2: (LPCWSTR-->LPWSTR) ... LPCWSTR strConst = L&q 阅读全文
posted @ 2013-11-20 19:03 Tup 阅读(362) 评论(0) 推荐(0)
摘要: CString是微软程序员的偏爱,用不好也会让你很头疼,又爱又恨啊。主要实现在三个文件中atlstr.h cstringt.h atlsimpstr.h, atlsimpstr.h负责最基本的设计,cstringt.h则负责一些高级函数的实现,atlstr.h负责最后的封装。如果在非MFC工程中使用CString的,主要#include 就足够了。看到这段代码,挺有意思^0^templateclass ChTraitsBase{public: typedef char XCHAR; typedef LPSTR PXSTR; typedef LPCSTR PCXSTR; typedef wch. 阅读全文
posted @ 2013-11-20 16:04 Tup 阅读(689) 评论(0) 推荐(0)
摘要: 一个本来可以运行的程序,今天debug的时候,出现了 一堆错误:类似:files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(47) : error C2011: “vc_attributes::YesNoMaybe”: “enum”类型重定义1> d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(47) : 参见“vc_attributes::YesNoMayb 阅读全文
posted @ 2013-11-18 19:02 Tup 阅读(409) 评论(0) 推荐(0)
摘要: //#include "stdafx.h" //不使用预编译头#include #include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ CString str1; str1.Format(L"Who R U ? NO.%d", 999); cout<<str1<<endl;//以常规方式输出 wcout<<str1<<endl;//直接输出CString wcout<<str1.GetBuffer() 阅读全文
posted @ 2013-11-18 19:00 Tup 阅读(553) 评论(0) 推荐(0)
摘要: GetTextExtentPoint32 函数功能:计算指定的正文字符串的宽度和高度 函数原型:BOOL GetTextExtentPoint32(HDC hdc,LPCTSTR lpString,int cbString,LPSIZE lpSize); 参数: hdc: 设备环境句柄 lpString:指向正文字符串的指针,此字符串不必以\0结束,因为cbString指定了字符串的长度 cbString:要纳入计算的字符串的字符数 lpSize: 指向SIZE结构的指针,该结构中字符串的尺寸将被返回。 返回值:如果函数调用成功,返回值是非零值;调用失败,返回0 Windows NT:... 阅读全文
posted @ 2013-11-18 18:38 Tup 阅读(2041) 评论(0) 推荐(1)
摘要: 1.求字符串的长度:(string.h wchar.h) size_t __cdecl strlen(const char*); size_t __cdecl wcslen(const wchar_t*)2. 打印字符串: printf wprintf你所熟悉的含字符串参数的C运行期函数都有相对应的宽字符处理方法。 阅读全文
posted @ 2013-11-18 18:30 Tup 阅读(179) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页