помощь новичкам » Страница 16
-Программирование на С++
Тема почти из одних моих вопросов состоит ![]()
Кому нибудь удавалось рисовать на CFbsBitmap в дебаггере?
При попытке iBitGc->DrawRect(TRect(0, 0, iBitmap->SizeInPixels().iWidth, iBitmap->SizeInPixels().iHeight)); вылазит FBSCLI 22. Причем эта паника вылетает только в дебаггере, и вообще она странная, тк в сдк сказано
Всегда рисовало нормально.
iOffScreenBitmap = new(ELeave) CFbsBitmap();
iOffScreenBitmap->Create(ImageSize, EColor16M);
iOffScreenBitmapDevice = CFbsBitmapDevice::NewL(iOffScreenBitmap);
iOffScreenBitmapDevice->CreateContext(iGc);
и потом в iGc рисуешь как угодно. В эмуле работает.
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));
}
Вопрос такой нужно делать некоторые действия со всеми задачами. То есть с экземплярами TApaTask, думал заюзать TApaTaskList но вот досада, у него нет ни метода возвращающего массив, ни At() ни Count()... То есть даже цикл не реализовать. В вики по теме how to retrieve task LIST вместо этого самого LIST достается просто одна задача
-------------
добавлено в 22.48: Вопрос такой нужно делать некоторые действия со всеми задачами. То есть с экземплярами TApaTask, думал заюзать TApaTaskList но вот досада, у него нет ни метода возвращающего массив, ни At() ни Count()... То есть даже цикл не реализовать. В вики по теме how to retrieve task LIST вместо этого самого LIST достается просто одна задача. Что делать?
а ты просто создай массив нужного типа и все)
например:
struct TMyStruct
{
TInt iX;
TInt iY;
};
RArray iArray;
struct TMyStruct db;
db.iX=iScreenShirina/2-5;
db.iY=iScreenVisota/2-5;
// Добавление в массив
for (TInt i = 0; i < iCount; i++)
{
iArray.Append( db );
}
- «
- 1
- 2
- --
- 15
- 16
- 17
- --
- 35
- 36
- »

