label.cpp

来自「多媒体电话记录程序」· C++ 代码 · 共 56 行

CPP
56
字号
// Label.cpp: implementation of the CLabel class.
//
//////////////////////////////////////////////////////////////////////

#include "Label.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLabel::CLabel(const char* label, CWidget* parent, GtkWidget* handle) : CWidget(parent) 
{ 
	if(handle)
		m_hHandle = handle;
	else
		m_hHandle = Create(label);	
	SetData("Wellgain Objects", this);

	gtk_signal_connect (GTK_OBJECT (m_hHandle), "destroy",
                      GTK_SIGNAL_FUNC (on_widget_destroy),
                      this);
	Show();
}
 
CLabel::~CLabel()
{

}

GtkWidget* CLabel::Create(const char* label)
{
	GtkWidget *lab;
	lab = gtk_label_new(label);

	return lab;
}

void CLabel::SetUnderLine(const gchar *pattern)
{
	gchar* pat;
	if(!pattern){	
		pat = g_strnfill(strlen(GetText()), '_');
		gtk_label_set_pattern(GTK_LABEL(GetHandle()), pat);
		g_free(pat);
	}
	else
		gtk_label_set_pattern(GTK_LABEL(GetHandle()), pattern);
}

const char* CLabel::GetText()
{
	gtk_label_get(GTK_LABEL(GetHandle()), &m_szText);
	return m_szText;
}

⌨️ 快捷键说明

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