File Annotation

Not logged in
5128eecc9f 2011-02-23        kinaba: //--- K.I.LIB ---
5128eecc9f 2011-02-23        kinaba: // kl_app.h : application class for K.I.LIB
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #ifndef AFX_KIAPP_H__AC24C8AF_2187_4873_83E8_AB4F2325017B__INCLUDED_
5128eecc9f 2011-02-23        kinaba: #define AFX_KIAPP_H__AC24C8AF_2187_4873_83E8_AB4F2325017B__INCLUDED_
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
5128eecc9f 2011-02-23        kinaba: // �ėp�A�v���P�[�V�����N���X
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: class kiApp
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: friend kiApp* app();
5128eecc9f 2011-02-23        kinaba: friend void kilib_startUp();
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: public: //-- �O�����C���^�[�t�F�C�X --------------------------
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// �C���X�^���X
5128eecc9f 2011-02-23        kinaba: 	HINSTANCE inst() const
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			return m_hInst;
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// ���C���E�C���h�E
5128eecc9f 2011-02-23        kinaba: 	HWND mainhwnd() const
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			return m_pMainWnd ? m_pMainWnd->hwnd() : NULL;
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 	kiWindow* mainwnd() const
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			return m_pMainWnd;
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 	void setMainWnd( kiWindow* wnd )
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			m_pMainWnd = wnd;
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// �n�r�o�[�W����
5128eecc9f 2011-02-23        kinaba: 	const OSVERSIONINFO& osver() const
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			return m_OsVer;
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// ���b�Z�[�W�{�b�N�X
5128eecc9f 2011-02-23        kinaba: 	int msgBox( const char* msg, const char* caption=NULL, UINT type=MB_OK )
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			return ::MessageBox( mainhwnd(), msg, caption, type );
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// �V�F���̃A���P�[�^�Ń��������
5128eecc9f 2011-02-23        kinaba: 	void shellFree( void* ptr ) const
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			m_pShellAlloc->Free( ptr );
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// ���z�R�[�h vKey �̃L�[�͉�����Ă��邩�H
5128eecc9f 2011-02-23        kinaba: 	static bool keyPushed( int vKey )
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			return( 0!=(::GetAsyncKeyState( vKey )>>15) );
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// CommonControl / OLE ������
5128eecc9f 2011-02-23        kinaba: 	void shellInit()
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			if( !m_bShellInit )
5128eecc9f 2011-02-23        kinaba: 			{
5128eecc9f 2011-02-23        kinaba: 				::InitCommonControls();
5128eecc9f 2011-02-23        kinaba: 				::OleInitialize( NULL );
5128eecc9f 2011-02-23        kinaba: 				m_bShellInit = true;
5128eecc9f 2011-02-23        kinaba: 			}
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #ifdef KILIB_LOG
5128eecc9f 2011-02-23        kinaba: 	void log( const char* str )
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			if( !m_log.isOpened() )
5128eecc9f 2011-02-23        kinaba: 			{
5128eecc9f 2011-02-23        kinaba: 				kiPath logtxt( kiPath::Exe ); logtxt += "log.txt";
5128eecc9f 2011-02-23        kinaba: 				m_log.open( logtxt, false );
5128eecc9f 2011-02-23        kinaba: 			}
5128eecc9f 2011-02-23        kinaba: 			m_log.write( str, ki_strlen(str) );
5128eecc9f 2011-02-23        kinaba: 			m_log.write( "\r\n", 2 );
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: #endif
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: protected: //-- �h���N���X���� -----------------------------
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	// �N�����ɌĂ΂��֐��B�K�{�B
5128eecc9f 2011-02-23        kinaba: 	virtual void run( kiCmdParser& cmd ) = 0;
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: protected: //-- �������� -----------------------------------
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	kiApp()
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			st_pApp = this;
5128eecc9f 2011-02-23        kinaba: 			m_hInst = ::GetModuleHandle( NULL );
5128eecc9f 2011-02-23        kinaba: 			m_pMainWnd = NULL;
5128eecc9f 2011-02-23        kinaba: 			m_bShellInit = false;
5128eecc9f 2011-02-23        kinaba: 			m_OsVer.dwOSVersionInfoSize = sizeof( m_OsVer );
5128eecc9f 2011-02-23        kinaba: 			::GetVersionEx( &m_OsVer );
5128eecc9f 2011-02-23        kinaba: 			::SHGetMalloc( &m_pShellAlloc );
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: protected:
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	virtual ~kiApp()
5128eecc9f 2011-02-23        kinaba: 		{
5128eecc9f 2011-02-23        kinaba: 			m_pShellAlloc->Release();
5128eecc9f 2011-02-23        kinaba: 			if( m_bShellInit )
5128eecc9f 2011-02-23        kinaba: 				::OleUninitialize();
5128eecc9f 2011-02-23        kinaba: 		}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: private:
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	HINSTANCE      m_hInst;
5128eecc9f 2011-02-23        kinaba: 	IMalloc*       m_pShellAlloc;
5128eecc9f 2011-02-23        kinaba: 	bool           m_bShellInit;
5128eecc9f 2011-02-23        kinaba: 	OSVERSIONINFO  m_OsVer;
5128eecc9f 2011-02-23        kinaba: 	kiWindow*      m_pMainWnd;
5128eecc9f 2011-02-23        kinaba: 	static kiApp* st_pApp;
5128eecc9f 2011-02-23        kinaba: #ifdef KILIB_LOG
5128eecc9f 2011-02-23        kinaba: 	kiFile         m_log;
5128eecc9f 2011-02-23        kinaba: #endif
5128eecc9f 2011-02-23        kinaba: };
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #endif