您的位置:首页 > 编程语言 > Qt开发

QT消息处理模块

2015-03-14 15:47 274 查看
////////////mainwindow.h//////////////////////////////////////////////////////
#include <QApplication>
#include <windows.h>

#define WM_WINDOW_SHOW WM_USER+1000

class MyApplication : public QApplication
{
Q_OBJECT

public:
MyApplication( int argc, char *argv[] );
~MyApplication(){}

protected:
bool winEventFilter( MSG *message, long *result );

};

//////////mainwindow.cpp//////////////////////////////////////////////////////////
#include "myapplication.h"
#include "mainwindow.h"

MyApplication::MyApplication( int argc, char *argv[] ) : QApplication( argc, argv )
{
}
bool MyApplication::winEventFilter( MSG *message, long *result )
{
switch( message->message )
{
case WM_WINDOW_SHOW:
MainWindow::ShowWindow(); //静态函数
break;
case WM_CLOSE:
//QApplication::exit();
break;
default:
break;
}

return QApplication::winEventFilter( message, result );
}

///////////In MainWindow Class///////////////////////////////////////////////////
MainWindow *g_this = NULL; //全局指针
static void ShowWindow();
void MainWindow::ShowWindow() //如何在静态成员函数里面取用this指针? 把this指针保存成全局指针,并在初始化的时候对它赋值。
{
if( g_this )
{
g_this->show(); //使之前隐藏了(this->hide())的窗口显示出来
}
}

参考:http://blog.csdn.net/sryan/article/details/6744070
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  QT消息处理
相关文章推荐