WM_GETMINMAXINFO 设置窗口最大最小尺寸(无边框窗口不遮挡任务栏)

以wtl为例,响应WM_GETMINMAXINFO消息:        LRESULT OnGetMinMaxInfo( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/ ) { MINMAXI...

2011-11-10 13:41:43

阅读数 4122

评论数 0

加了 WS_THICKFRAME 风格,如何能无边框?

如果想无边框,直接去掉WS_THICKFRAME不就行了嘛。那为什么还要有WS_THICKFRAME风格,再费劲去掉边框了? 没有WS_THICKFRAME会带来很多问题: 1.没有WS_THICKFRAME,有WS_SYSMENU,就没办法通过相应WM_NCHITTEST,去处理窗口...

2011-11-10 13:23:27

阅读数 10636

评论数 3

线程安全”是一个什么概念?

以前常听高手告诫MFC对象不要跨线程使用,因为MFC不是线程安全的。比如CWnd对象不要跨线程使用,可以用窗口句柄(HWND)代替。CSocket/CAsyncSocket对象不要跨线程使用,用SOCKET句柄代替.那么到底什么是线程安全呢?什么时候需要考虑?如果程序涉及到多线程

2011-07-18 16:10:49

阅读数 694

评论数 0

WM_NCHITTEST (处理无边框窗口的缩放)

MSDN对它的解释是: The WM_NCHITTEST message is sent to a window when the cursor moves, or when a mouse button is pressed or released. If the mouse is n...

2011-07-13 15:27:30

阅读数 1542

评论数 0

活动窗口(Active),焦点窗口(Focus),IsDialogMessage,

任何一个时候,我们的Windows桌面上总有一个最前台的窗口,其实说简单的,就是标题栏变成深蓝色的那个窗口,仅此一个,这个窗口就是前景窗口(Foreground Window),其他窗口就是后台窗口(Background Window)。那创建前景窗口的线程就是前景线程(Fore

2011-07-12 22:29:25

阅读数 3246

评论数 0

Windows 消息优先级

<br />也许题目有些夸张,但是Windows消息方面确实存在一些不去探究就摸不着头脑的事情,这种问题不是明显错误,不会抛出异常,但却是最棘手的问题,给调试带来很大麻烦,所以我将实际遇到的问题整理如下,以供参考。<br /> <br />一、Windows 消...

2011-05-06 10:43:00

阅读数 6904

评论数 0

__stdcall,__cdecl,_cdecl,_stdcall,。__fastcall,_fastcall 区别简

1.今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两者的区别; #define CA...

2011-03-22 16:06:00

阅读数 427

评论数 0

【开源工程】MediaInfo

<br />MediaInfo <br /> <br />一、简介<br />MediaInfo 用来分析视频和音频文件的编码和内容信息。<br />MediaInfo可以获得多媒体文件的哪些信息?<br />内容信息:标题,...

2010-10-28 21:13:00

阅读数 722

评论数 0

有关CComPtr&CComQIPtr,CComBSTR,CComVariant,CAutoPtr的设计思想的分析

<br />这三种类型的封装类都对其封装类型进行包裹,尤其是提供分配内存以及释放内存。在设计思想上不同的是:<br />CComPtr<T>&CComQIPtr<T>:用于维护COM的接口,<br />l  对于构造函数和赋值等于...

2010-10-28 15:03:00

阅读数 771

评论数 0

软件开发经验总结——读源代码的艺术

     读取源代码是每一个开发人员成长的必经之路,一份优秀的源代码,是作者多年开发技术的心血结晶,研究一份优秀的源代码,总是能够让你的技术得到一定程度的提升。然后,读别人的源代码并不是拿着代码在那里瞎看,而是要充分了解作者的编程思路,了解代码的优点和缺点,在了解作者思路的基础上,自己尝试写出比该...

2009-09-13 19:02:00

阅读数 465

评论数 0

软件开发经验总结——解读高速读书之秘

计算机知识更新得飞快,作为一个软件开发人员,必须即时更新自己的知识结构,否则,将会被社会所淘汰,记得以前读书的时候,只会写HTML网页的开发人员都可以很轻松得拿10K以上的工资,时过境迁,如今,如果一个开发人员只会编写HTML,那么他可能连工作都找不到。在知识更新换代如此之快的今天,如何高速学习成...

2009-09-13 19:01:00

阅读数 521

评论数 0

软件开发经验总结——客观地认识程序员心中的恐惧

经常听到身边有很多搞开发的朋友说,“哎,程序员不好混,等到30岁后就要没有什么公司要了”、“计算机技术更新得太快了,过了30岁如果我的学习能力下降了,就跟不上了,到时候该怎么办”、“我的那些同学刚出来做其他行业每个月拿1000元,现在都每个月上万了,房子和车子都有了”、“如果有机会,我一定要转行”...

2009-09-13 18:58:00

阅读数 652

评论数 0

超强TS流TSPlayer网络播放器,能解复用mpeg2、h.264码流、可播放256套节目

TSPlayer是一款DVB-TS流多画面播放器。1. 默认全屏,默认连接UDP多播网络。2. F5整个画面全屏,鼠标右键整个画面全屏,双击单个画面全屏。3. 可动态改变画面个数。4. 两种全屏都可ESC键退出。5. 可接收UDP多播(MultiCast)和单播(UniCast)网络,也可打开本地...

2009-08-12 20:43:00

阅读数 14177

评论数 3

CFile转FILE*

我们每个人编写程序时,都会或多或少的被一些小问题所困扰。这些问题有时就像是谜语,答案也许很简单,但解决的过程却像猜谜一样花时间。我的笨办法是日积月累,下面我介绍CFile如何转FILE*,从问题场景,方法和具体代码等方面写起,希望对大家能有所帮助。       比如原先有一个程序,其中的文件操作都...

2009-03-09 22:49:00

阅读数 2604

评论数 0

头文件和源文件的关系

一、源文件如何根据#include来关联头文件1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 #include  2,用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过...

2009-03-07 15:17:00

阅读数 667

评论数 0

C++编译器及IDE(Dev_C++、WxDev_C++、VC等)

Dev-C++本软件就不用说了,这是pfan论坛上的首选IDE环境;他默认安装minGW作为编译器——就是windows化了的GCC编译器。版本应该是3.4;由于其编辑器使用简单,而内核gcc3.4对c99和c++2003的支持度都比较高,所以,这个软件比较适合标准C/C++初学者!除了支持外部库...

2009-03-07 15:16:00

阅读数 2361

评论数 0

VC++6.0编译器详解

大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“...

2009-03-07 15:15:00

阅读数 655

评论数 0

C和C++混合编程(__cplusplus 与 external "c" 的使用)

第一种理解比如说你用C++开发了一个DLL库,为了能够让C语言也能够调用你的DLL输出(Export)的函数,你需要用extern "C"来强制编译器不要修改你的函数名。通常,在C语言的头文件中经常可以看到类似下面这种形式的代码: #ifdef __cplusplus exte...

2009-03-07 14:45:00

阅读数 7532

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭