Вывод ответа #1863111389

-

помощь новичкам

kolayuk


Репутация: 889
репутация: 889
| на сайте с 2006 года | последнее посещение: 22 ноября 2018
сообщений: 575

Пост № 1863111389

Derail, странно вроде то же самое


void CCClock::ConstructL()
{
ReadSettings();

iBitmap=new (ELeave) CFbsBitmap();
iBitmap->Create(TSize(1, 1), EColor16M);
iBitDevice = CFbsBitmapDevice::NewL(iBitmap);
iBitDevice->CreateContext(iBitGc);

iMask=new (ELeave) CFbsBitmap();
iMask->Create(TSize(1, 1), EColor16M);
iMaskDevice = CFbsBitmapDevice::NewL(iMask);
iMaskDevice->CreateContext(iMaskGc);

TFontSpec MyeFontSpec (KFontArial, iSettings[2]*iSettings[2]);
MyeFontSpec.iTypeface.SetIsProportional(ETrue);
User::LeaveIfError(iMaskDevice->GetNearestFontInTwips(iFont, MyeFontSpec));

  //...

Redraw();
//...
}

void CCClock::Redraw()
{
TRgb Black(0, 0, 0);
TTime currTime;
currTime.HomeTime();
TBuf<255> time;
currTime.FormatL(time, KTimeFormat);

iBitmap->Resize(TSize(iFont->TextWidthInPixels(time), iFont->HeightInPixels()));
iMask->Resize(TSize(iFont->TextWidthInPixels(time), iFont->HeightInPixels()));

iBitGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
iBitGc->SetBrushColor(Black);
iBitGc->DrawRect(TRect(0, 0, iBitmap->SizeInPixels().iWidth, iBitmap->SizeInPixels().iHeight)); // тут вываливается паника

iMaskGc->UseFont(iFont);
iMaskGc->SetPenColor(Black);
iMaskGc->Clear();
iMaskGc->DrawText(time, TRect(0, 0, iMask->SizeInPixels().iWidth, iMask->SizeInPixels().iHeight));
}


ответ опубликован:
Рейтинг: 5
голосов: 2