MFC CScrollView

1 отговора 44 прегледа
#1

MFC CScrollView

Zna4i iskam da premestia ViewportOrg ili WindowOrg kato izpolzvam CScrollView,
pravia gledka na matemati4eska funktcia, no kogato zapo4na da scrolliram,
grafikata mi se "ravalia", ne se scrollira kakto triabva, kade triabva
da izpolzvam CDC::SetViewportOrg(), ili CDC::SetWindowOrg(), taka 4e kartinkata mi da se skrollira kakto triabva ??

Отговор
в отговор на kLD #2

Re: MFC CScrollView

Ako chertaesh vutre ot CScrollView::OnDraw(CDC *pDC), kato polzvash imenno dadenoto pDC kato parametur na OnDraw() ne ti triabva da mestish ViewportOrg, poneje veche e napraveno /ako go mestish na tova miasto e greshno/

Obache, ako rabotish s niakoe svoe CDC *pDC = GetDC() ot drugo miasto, sled kato si vzel pDC chrez GetDC() shte triabva da mu izmestish ViewportOrg, taka

{
CDC *pDC2 = GetDC();
Point ptViewportOrg = pDC->SetViewportOrg(-GetScrollPos(SB_HORZ), -GetScrollPos(SB_VERT));

// tuka si vhertaesh grafikata
// ...

// nai-nakraia vuztanoviavash i osvobojdavash pDC
pDC->SetViewportOrg(ptViewportOrg);
pDC->Release();
}

Отговор