⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgwidget.h

📁 monqueror一个很具有参考价值的源玛
💻 H
字号:
#ifndef		_MGWIDGET_H_#define		_MGWIDGET_H_class MGFont;class MGSize;#include "mgrect.h"namespace khtml {	class RenderFormElement;};class MGWidget{public:	MGWidget();	MGWidget(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidget();	#if( _CURRENT_PLATFORM == _PLATFORM_MINIGUI )	HDC getHdc() const;	inline HWND getHwnd() const {return m_hWnd;}	inline HWND getParent() const {return m_hWndParent;}#endif	inline virtual int ProcNotification (int code) {return 0;};	virtual void clicked();	virtual void initWindow();	virtual int width() const;	virtual int height() const;	virtual MGSize sizeHint() const;	virtual int x() const;	virtual int y() const;	virtual void show();	virtual void hide();	virtual void resize( int w, int h );	virtual void moveWindow( int x, int y );	virtual void setFocus();	virtual void clearFocus();	virtual void setFont( const MGFont& font );	void setText( const char * str );	virtual void layout();		bool isVisible() const { return m_bShowIt; }	void setVisible( bool show ) { m_bShowIt = show; }protected:#if( _CURRENT_PLATFORM == _PLATFORM_MINIGUI )	HWND m_hWnd, m_hWndParent;	MGRect m_rectWnd;	MGSize m_size;#endif	bool m_bShowIt;	khtml::RenderFormElement * m_renderer;};//--------------------------------------------------------------------------------------------------------------------Buttonclass MGWidgetButton : public MGWidget{public:	MGWidgetButton(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetButton();	inline virtual int ProcNotification (int code) {		if (code == BN_CLICKED) clicked(); return 0;}	virtual MGSize sizeHint() const;	virtual void clicked();	virtual void initWindow();};//--------------------------------------------------------------------------------------------------------------------Radioclass MGWidgetRadio : public MGWidget{public:	MGWidgetRadio(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetRadio();	inline virtual int ProcNotification (int code) {		if (code == BN_CLICKED) clicked(); return 0;}	virtual MGSize sizeHint() const;	virtual void clicked();	void setChecked(bool b);	virtual void initWindow();};//--------------------------------------------------------------------------------------------------------------------Checkclass MGWidgetCheck : public MGWidget{public:	MGWidgetCheck(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetCheck();	inline virtual int ProcNotification (int code) {		if (code == BN_CLICKED) clicked(); return 0;}	virtual MGSize sizeHint() const;	virtual void clicked();	void setChecked(bool b);	virtual void initWindow();};//--------------------------------------------------------------------------------------------------------------------Editclass MGWidgetEdit : public MGWidget{public:	MGWidgetEdit(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetEdit();	virtual int ProcNotification (int code);	virtual void clicked();	virtual void initWindow();};//--------------------------------------------------------------------------------------------------------------------Passwordclass MGWidgetEditPassword : public MGWidgetEdit{public:	MGWidgetEditPassword(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetEditPassword();	virtual void initWindow();};//--------------------------------------------------------------------------------------------------------------------Staticclass MGWidgetStatic : public MGWidget{public:	MGWidgetStatic(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetStatic();	inline virtual int ProcNotification (int code) {		if (code == STN_CLICKED) clicked(); return 0;}	virtual void clicked();	virtual void initWindow();};//--------------------------------------------------------------------------------------------------------------------Parentclass MGWidgetParent : public MGWidget{# define BUTTON_ID 0public:	MGWidgetParent(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetParent();	virtual void clicked();	virtual void initWindow();	virtual void show();	virtual void hide();	MGWidgetEdit * getEdit(){ return m_Edit; };	virtual MGSize sizeHint() const;private:	MGWidgetEdit * m_Edit;	HWND m_hButton;	HWND m_hEdit;	int m_ButtonID;	static int ParentProc( HWND hWnd, int message, WPARAM wParam, LPARAM lParam );	bool createParentWnd( int x, int y, int w, int h, bool visible, HWND hParent );};//-----------------------------------------------------------------------------------------------------------ComboBoxclass MGWidgetComboBox : public MGWidget{public:	MGWidgetComboBox(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetComboBox();	virtual int ProcNotification(int code);		virtual void clicked();	virtual void initWindow();	void insertItem(const char * str, int index);	void clear();	int currentItem();	void setCurrentItem(int index);};//-----------------------------------------------------------------------------------------------------------Listclass MGWidgetList : public MGWidget{public:	MGWidgetList(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetList();	virtual int ProcNotification(int code);		virtual void clicked();	virtual void initWindow();	virtual MGSize sizeHint()  const;	void insertItem(const char * str, int index);	void clear();	bool isSelected( int index );	void setSelected( int index, bool );};//------------------------------------------------------------------------------------------------------------------TextAreaclass MGWidgetTextArea : public MGWidget{public:	MGWidgetTextArea(HWND hWndParent, khtml::RenderFormElement * renderer);	virtual ~MGWidgetTextArea();	virtual int ProcNotification(int code);	virtual void initWindow();	virtual MGSize sizeHint() const;	QString text();};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -