Cum aflu daca scrollbar-ul apare ?

Intrebari legate de programarea cu biblioteci precum MFC, ATL, WTL si GDI+.
Post Reply
mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Cum aflu daca scrollbar-ul apare ?

Post by mesajflaviu » 21 Oct 2010, 21:41

Cum pot stii daca intr-o aplicatie MDI cu CView bazat pe CScrollbarView am la un moment dat scrollbar pe orizontala sau pe verticala ? Am inteles ca in VC2005 exista CScrollView::CheckScrollBars(...) , dar nu exista ceva similar in VC6 ... am incercat in felul urmator :

Code: Select all

void CCustomClass::OnMouseMove(CMyView* pView,...)
{
        if(pView->GetStyle() & WS_HSCROLL)TRACE("\n WS_HSCROLL \n");	
        if(pView->GetStyle() & WS_VSCROLL)TRACE("\n WS_VSCROLL \n");
}
dar nu functioneaza ...



User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum aflu daca scrollbar-ul apare ?

Post by Ovidiu Cucu » 21 Oct 2010, 22:14

Implementarea din VS2005 este

Code: Select all

void CScrollView::CheckScrollBars(BOOL& bHasHorzBar, BOOL& bHasVertBar) const
{
	DWORD dwStyle = GetStyle();
	CScrollBar* pBar = GetScrollBarCtrl(SB_VERT);
	bHasVertBar = ((pBar != NULL) && pBar->IsWindowEnabled()) ||
					(dwStyle & WS_VSCROLL);

	pBar = GetScrollBarCtrl(SB_HORZ);
	bHasHorzBar = ((pBar != NULL) && pBar->IsWindowEnabled()) ||
					(dwStyle & WS_HSCROLL);
}
Asta pentru ca, o fereastra poate sa aiba controale scrollbar sau sa nu aiba controale scrollbar dar stilul WS_VSCROLL, respectiv WS_HSCROLL.

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: Cum aflu daca scrollbar-ul apare ?

Post by mesajflaviu » 22 Oct 2010, 08:57

Este exact ce imi trebuia ! Merge brici ! Multumesc mult !!!

Post Reply