Weiß einer von euch wie ich in vgui cursor einbinde?
hier mal mein code:
header:
Zitat: #include <vgui/VGUI.h> namespace vgui { class Panel; } class Icl { public: virtual void Create( vgui::VPANEL parent ) = 0; virtual void Destroy( void ) = 0; void OnPaint( void ); private: }; extern Icl *cl; |
cpp
Zitat: #include "cbase.h" #include "Klassensystem.h" #include "hud.h" #include "hudelement.h" #include "hud_macros.h" #include <vgui_controls/Panel.h> #include <vgui_controls/Frame.h> #include <vgui/IScheme.h> #include <vgui_controls/Label.h> #include "iclientmode.h" #include "c_baseplayer.h" #include "c_baseplayer.h" #include "vgui_BasePanel.h" #include <vgui/ISurface.h> #include <vgui/IVGui.h> #include <KeyValues.h> using namespace vgui; // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" //----------------------------------------------------------------------------- // Purpose: Displays the logo panel //----------------------------------------------------------------------------- class CclPanel : public vgui::EditablePanel { typedef vgui::EditablePanel BaseClass; public: CclPanel( vgui::VPANEL parent ); ~CclPanel(); void CclPanel::OnCommand(const char* pcCommand) { } void CclPanel::OnTick() { } void CclPanel::OnPaint() { } virtual void ApplySchemeSettings( vgui::IScheme *pScheme ) { BaseClass::ApplySchemeSettings( pScheme ); } virtual void PaintBackground() { SetPaintBackgroundType( 0 ); BaseClass::PaintBackground(); } private: }; //----------------------------------------------------------------------------- // Purpose: Constructor //----------------------------------------------------------------------------- CclPanel::CclPanel( vgui::VPANEL parent ) : BaseClass( NULL, "CclPanel" ) { g_pClientMode->CreateMove; SetKeyBoardInputEnabled( true ); SetMouseInputEnabled( false ); SetParent( parent ); SetProportional( true ); SetVisible( true ); ActivateBuildMode(); // buildmode SetScheme("ClientScheme"); LoadControlSettings( "resource/UI/TopPanel.res" ); vgui::ivgui()->AddTickSignal( GetVPanel(), 100 ); } //----------------------------------------------------------------------------- // Purpose: Destructor //----------------------------------------------------------------------------- CclPanel::~CclPanel() { } // Class class Ccl : public Icl { private: CclPanel *clPanel; vgui::VPANEL m_hParent; public: Ccl( void ) { clPanel = NULL; } void Create( vgui::VPANEL parent ) { clPanel = new CclPanel(parent); } void Destroy( void ) { if ( clPanel ) { clPanel->SetParent( (vgui::Panel *)NULL ); delete clPanel; } } }; static Ccl g_cl; Icl *cl = ( Icl * )&g_cl; |