- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 笔记:线程与GDI的冲突:死机的真正原因
很多人使用线程的时候,都喜欢在线程内画图。如果在线程内画图,程序就很容易出错,而且还是那种没有任何响应和提示的错误问题.例如,一个复制文件的程序,这个程序由两个线程组成,一个是复制文件的线程,一个是显示文件复制进度的线程。理论上这个程序没有什么问题。但是,这个程序有一个很大的隐患,就是主程序也可能某一时刻要更新这个进度条,例如,进度窗口被其他窗口挡住后或窗体,这个窗体就要刷新,这时,如果线程的那个
2008-08-29 18:04:00 1537
转载 Win32下两种用于C++的线程同步类
线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态是
2008-08-29 17:57:00 884
转载 WIN32用户界面设计之Dialog 篇
对话框分为模态对话框和非模态对话框,创建模态对话框用DialogBox(),创建非模态对话框用CreateDialog(),一个对话框通常都应当有一个父窗口,对话框的定位以父窗口的坐标系统为基准,父窗口关闭对话框也随即关闭。如果模态对话框没有父窗口就不再具有模态对话框的特性(用户必须处理完模态对话框的要求之后才能继续在主窗口的操作)。例如使用MessageBox(NULL,"Message","
2008-08-29 17:54:00 1934
转载 字体模糊的解决办法 Windows Mobile
今天项目中有一个问题,用DC在一个24位的bitmap上写字体,字体竟然模糊了,因为Windows Mobile的屏幕颜色深度是16位的。 以下是一位网友的代码: 当压缩格式为 BI_BITFIELDS 时,在位图信息(即BITMAPINFOHEADER)后面接着三个DWORD型数据,就是掩码数据, 一般为:0xF800(兰色掩码),0x07E0(绿色掩码),0
2008-08-28 15:56:00 1561
原创 笔记:把界面上静态文本控件的尺寸根据文本的内容自动调整大小
函数功能:该函数计算指定的正文字符串的高度和宽度。 函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize); 参数:hdc:设备环境句柄。 lpString:指向正文字符串的指针。此字符串不必以/0结束,因为cbString指定了字符串的长度。 cbStri
2008-08-27 16:09:00 1895 1
原创 笔记 :定义二维数组
定义二维数组char array[x][y]; 1.只定义个一维的就可以了 char *array; array = new char[x*y]; 访问的时候*(array+i*y+j)表示array[i][j] 2.定义一个二维数组 char **array1
2008-08-26 18:30:00 1021
原创 ON_COMMAND_RANGE用法
ON_COMMAND_RANGE用法 afx_msg void OnOutPutStatusButtonUp (WPARAM wParam, LPARAM lParam);BEGIN_MESSAGE_MAP(CIOStatue, CDialog)//{{AFX_MSG_MAP(CIOStatue)//}}AFX_MSG_MAPON_COMMAND_RANGE(IDC_STATIC_
2008-08-26 14:22:00 1933
EVC下控件透明(ARMV4I下的工程解决界面美化,非常有用)(本人的宗旨:提供完整的可以运行的源代码)
2008-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人