Странно, но не рисует.
От: navrid  
Дата: 07.06.06 13:38
Оценка:
Подскажите пожалуйста новичку — почему в диалоговом окне
не выводит линию следующий код:


void CDrawinMay::OnPaint()
{

   CClientDC dc(this); // device context for painting
    
   CDC dcM;


   dcM.CreateCompatibleDC(&dc); 

   CPen pn;  
   pn.CreatePen(PS_SOLID,10,RGB(255,0,0));  
   dcM.SelectObject(&pn); 

   dcM.MoveTo(10, 10);
   dcM.LineTo(50,50);

   dc.BitBlt(0,0,100,100,&dcM,0,0,SRCCOPY); 
}

Re: Странно, но не рисует.
От: ekamaloff Великобритания  
Дата: 07.06.06 13:43
Оценка: 2 (1)
Здравствуйте, navrid, Вы писали:

Попробуй так:

N>
N>void CDrawinMay::OnPaint()
N>{

N>   CClientDC dc(this); // device context for painting
    
N>   CDC dcM;
N>   CBitmap bmpM;

N>   dcM.CreateCompatibleDC(&dc); 
N>   bmpM.CreateCompatibleBitmap(&dc, 50, 50);
N>   dcM.SelectObject(&bmpM);

N>   CPen pn;  
N>   pn.CreatePen(PS_SOLID,10,RGB(255,0,0));  
N>   dcM.SelectObject(&pn); 

N>   dcM.MoveTo(10, 10);
N>   dcM.LineTo(50,50);

N>   dc.BitBlt(0,0,100,100,&dcM,0,0,SRCCOPY); 
N>}
N>

N>
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[2]: Странно, но не рисует.
От: sembs  
Дата: 07.06.06 13:49
Оценка: 2 (1)
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, navrid, Вы писали:


E>Попробуй так:


N>>
N>>void CDrawinMay::OnPaint()
N>>{

N>>   CClientDC dc(this); // device context for painting
    
N>>   CDC dcM;
N>>   CBitmap bmpM, *bmpO;

N>>   dcM.CreateCompatibleDC(&dc); 
N>>   bmpM.CreateCompatibleBitmap(&dc, 50, 50);
N>>   bmpO = dcM.SelectObject(&bmpM);

N>>   CPen pn,*pnO;  
N>>   pn.CreatePen(PS_SOLID,10,RGB(255,0,0));  
N>>   pnO  = dcM.SelectObject(&pn); 

N>>   dcM.MoveTo(10, 10);
N>>   dcM.LineTo(50,50);

N>>   dc.BitBlt(0,0,100,100,&dcM,0,0,SRCCOPY); 
      dcM.SelectObject(pnO); 
      dcM.SelectObject(bmpO); 
      pn.DeleteObject();
      bmpM.DeleteObject();
      dcM.DeleteDC();//не помешает 
N>>}
N>>

N>>
Re[3]: Странно, но не рисует.
От: navrid  
Дата: 07.06.06 14:40
Оценка:
Спасибо ekamaloff и sembs.
Рисование пошло.

narvid
Re[2]: Странно, но не рисует.
От: Pavel Dvorkin Россия  
Дата: 08.06.06 03:05
Оценка: +1
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, navrid, Вы писали:


E>Попробуй так:


N>>[ccode]

N>>void CDrawinMay::OnPaint()
N>>{

N>> CClientDC dc(this); // device context for painting


Вообще-то на OnPaint надо бы CPaintDC создавать. Иначе кто вам BeginPaint и EndPaint вызывать будет ? Тут и до 100% загрузки процессора недалеко.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.