Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как нормально рисовать в диалоге под КПК, Как нормально рисовать в диалоге под КПК 
:(
    Опции темы
nikakoi
Дата 10.5.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 6.5.2006

Репутация: нет
Всего: нет



Помогите пожалуйста.. была программа, которая просто рисовала в picture control в диалоге...
Попросили перенести ее на КПК и оказывается там так рисовать не получаетсяsmile.
Сказали что надо сделать наследника CWnd , но я не совсем понимаю , что из этого получится...
помогите плз..) 
PM MAIL   Вверх
Darhazer
Дата 10.5.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 2
Всего: 29



Изходники в студио...  smile  


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
nikakoi
Дата 10.5.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 6.5.2006

Репутация: нет
Всего: нет



Код

void CSatellite_StatusDlg::DrawPicture()
{
  CDC*pDC = m_Picture.GetDC();
  CRect Rect;
  m_Picture.GetClientRect(Rect);
  CDC memDC;
  CBitmap m_bmp;
  int minsize;
  
  if(Rect.right < Rect.bottom)
    minsize = Rect.right;
  else
    minsize = Rect.bottom;

  CPoint centre(minsize / 2, minsize / 2);
  int radius = minsize / 2 - 5;

  memDC.CreateCompatibleDC(pDC);
  m_bmp.CreateCompatibleBitmap(pDC, Rect.right, Rect.bottom);
  memDC.SelectObject(&m_bmp);  

  memDC.FillSolidRect(Rect, RGB(255, 255, 255));
  memDC.Rectangle(Rect);
  memDC.Ellipse(centre.x - radius, centre.y - radius, centre.x + radius, centre.y + radius); 
  memDC.Ellipse(centre.x - radius / 2, centre.y - radius / 2,  centre.x + radius / 2, centre.y + radius / 2);
  memDC.Ellipse(centre.x - 1, centre.y - 1, centre.x + 1 , centre.y + 1 ); // point in centre
  
  memDC.SetBkMode(TRANSPARENT);
  
  CSize textsize=memDC.GetTextExtent((CString)"N");
  int indent_x = textsize.cx + 4;
  int indent_y=textsize.cy;
  
  if(m_SatSys->GetSize() > 0)
    m_SatSys->DrawSystem(memDC, centre, radius);
  
  pDC->BitBlt(0, 0, Rect.right, Rect.bottom, &memDC, 0, 0, SRCCOPY);

  m_bmp.DeleteObject();
  memDC.DeleteDC();
  ReleaseDC(pDC);
}
 
вот как я делал это раньше... но теперь в свойствах Picture control нельзя сделать frame и я не понимаю как мне рисовать( ((( (в смысле когда для КПК пишу=(() можно конечно рисовать прямо на диалоге(почему то)), но кажется это не совсем правильно
P.S.: я на форуме что то спрашиваю первый раз, так что если что то не то написал - не обижайтесь  

Это сообщение отредактировал(а) nikakoi - 10.5.2006, 12:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1290 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.