예제 #1
0
HICON SmileyType::GetIconDup(void)
{
	ImageBase* img = CreateCachedImage();
	img->SelectFrame(m_index);
	HICON hIcon = img->GetIcon();
	img->Release();
	return hIcon;
}
예제 #2
0
HBITMAP SmileyType::GetBitmap(COLORREF bkgClr, int sizeX, int sizeY)
{
	ImageBase* img = CreateCachedImage();
	if (!img) return NULL;
	img->SelectFrame(m_index);
	HBITMAP hBmp = img->GetBitmap(bkgClr, sizeX, sizeY);
	img->Release();

	return hBmp;
}
예제 #3
0
HICON SmileyType::GetIcon(void)
{
	if (m_SmileyIcon == NULL) {
		ImageBase* img = CreateCachedImage();
		if (!img) return NULL;
		img->SelectFrame(m_index);
		m_SmileyIcon = img->GetIcon();
		img->Release();
	}
	return m_SmileyIcon;
}
예제 #4
0
	void LoadSmiley(void)
	{
		if (m_img != NULL) return;

		m_img = m_sml->CreateCachedImage();
		if (m_img && m_img->IsAnimated() && opt.AnimateDlg) {
			m_nFramePosition = 0;
			m_img->SelectFrame(m_nFramePosition);
			long frtm = m_img->GetFrameDelay();
			m_counter = frtm / 10 + ((frtm % 10) >= 5);

			regAniSmileys.insert(this);
			if (timerId == 0) {
				timerId = 0xffffffff;
				CallFunctionAsync(sttMainThreadCallback, NULL);
			}
		}
		else m_nFramePosition = m_sml->GetStaticFrame();
	}