- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 MFC之图形
1.设备描述表(DC)也称设备上下文或设备环境。它是一种包含各种绘图属性(字体,颜色),和方法(各种绘图函数)的数据结构。设备描述表定义了设备、画图工具和画图信息。它不仅可以绘制各种图形,而且还可以确定在应用窗口绘制图形的方式和图形的样式。(Windows所有的绘制操作及图形输出都必须通过设备描述表这一虚拟用户工作区来进行。用户在绘图之前,必须获取绘图窗口区域的一个设备环境DC,接着才能进行GDI
2015-10-30 18:15:01 363
原创 MFC菜单
CMenu menu;menu.LoadMenuW(IDR_MENU1);SetMenu(&menu);//为菜单栏添加菜单void C**Dlg::OnLButtonDown(UINT nFlags, CPoint point)//左键弹出菜单{ CMenu menu; menu.LoadMenuW(IDR_MENU1); CMenu *pMe
2015-10-30 11:27:53 470
原创 MFC消息种类
键盘消息: WM_CHAR:该消息的处理函数OnChar(),在用户输入有效的ASCII码时才会发生 WM_KEYDOWN :键盘按下事件 WM_KEYUP:键盘释放事件键盘消息处理方式如下:BOOL C**Dlg::PreTranslateMessage(MSG* pMsg){ //判
2015-10-29 17:42:11 407
转载 HINSTANCE/HWND/CWnd/HANDLE 的区别
HINSTANCE是应用程序实例句柄,HWND是窗口对象句柄,HANDLE是任意对象的句柄,CWnd是MFC中的窗口类。 MSDN里面对于HINSTANCE的解释是"handle to an instance" 就是说是一个instance的句柄。而对instance的解释是"An object for which memory is a
2015-10-27 13:11:52 836
转载 OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)的用法
在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINTnCtlColor);参数nCtlColor用于指定控件的类型,可以是:.CTLCOLOR_BTN 按钮控件.CTLCO
2015-10-19 17:52:23 2705
转载 MFC picture control控件不失真自适应图片显示
void CPrintScreen::OnPaint(){ CPaintDC dc(this); CImage image; CRect rect; //根据路径载入图片 image.Load(m_filepath); CWnd *pWnd = NULL; pWnd = GetDlgItem(I
2015-10-19 17:49:40 733
原创 何谓线程?何谓进程?何谓多线程?
线程:线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.(4)二者均可并发执行.进程:进程是一个具有独立功能的程序关于某个
2015-10-15 09:24:51 786
转载 Qt 多线程
Qt 包含下面一些线程相关的类:QThread 提供了开始一个新线程的方法QThreadStorage 提供逐线程数据存储QMutex 提供相互排斥的锁,或互斥量QMutexLocker 是一个便利类,它可以自动对QMutex加锁与解锁QReadWriterLock 提供了一个可以同时读操作的锁QReadLocker与QWriteLocker 是便利类,它自动对QRead
2015-10-15 09:01:21 361
转载 QT 多线程程序设计
QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些
2015-10-15 08:59:50 320
转载 C++的try_catch异常
一、简单的例子首先通过一个简单的例子来熟悉C++ 的 try/catch/throw:1 #include //包含头文件2 #include3 doublefuc(double x, doubley) //定义函数4 {5 if(y==
2015-10-12 15:10:05 358
转载 extern "c" __declspec(dllimport) __declspec(dllexport)
extern "C "只是表示这个可以被C语言调用,除了这个之外,没有什么更多含义。由于C++里面有函数重载,所以在编译的时候,编译器会在你写的,也就是你希望导出的函数后面加上一些关于参数的信息,也就是真正导出的函数名字和你想要的不一样。又由于C语言没有函数重载,所以用EXTERN "C"的意思就是告诉编译器不要按照C++那样修改函数名称。因为C语言的编译器和C++
2015-10-10 12:02:21 4391
转载 QT中layoutstretch属性配置,控件按比例扩大缩小
现在相对一个horizontalLayout中的连个QTextEdit控件按2:3的比例扩大,找了很多资料没有找到那个参数可以配置,后来去一个国外的网站去找,终于找到了配置方法。具体方法:把horizontalLayout中的layoutstretch属性设置为2,3即可,layoutstretch属性的意思是horizontalLayout里面的两个控件按2:3的宽度显示。同理如果h
2015-10-10 11:08:53 2566
转载 MVP设计模式
MVC和MVP的区别?编辑MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Present
2015-10-09 09:32:29 549
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人