Ich hab das Badge System eingebaut, funktioniert auch soweit, nur hab ich ich ein Problem das ich gefühlt zwei Felder weiter oben klicken muss um ein unteres Badge anzuklicken. Umso weiter ich nach unten gehe um so größer wird der Abstand vom Klick zum Badge.
Hier ein Bild:
[Only registered and activated users can see links. Click Here To Register...]
Ich denke ich kann das Problem hier lösen :
WndControl.cpp:
PHP Code:
#ifdef __BADGE_SYSTEM
if( pWnd->GetWndId() == APP_BADGE )
{
CWndBadgee *pWndBadgee = (CWndBadgee*)pWnd;
m_nFontHeight = 30;
CPoint pt(10,5);
CRect rectClient = GetClientRect();
int nPage = rectClient.Height() / m_nFontHeight;
m_wndScrollBar.SetScrollRange( 0, prj.m_aBadgeeIconProp.size() );
m_wndScrollBar.SetScrollPage( nPage );
for( unsigned i = (unsigned)m_wndScrollBar.GetScrollPos(); i < (unsigned)(prj.m_aBadgeeIconProp.size()); ++i )
{
if( i > (unsigned)(nPage + m_wndScrollBar.GetScrollPos()) )
break;
CString strBuf;
if( i == m_nCurSelect )
{
CRect DrawRect = CRect(0,pt.y-2,rectClient.right-5,pt.y+31);
p2DRender->RenderFillRect(DrawRect, 0xFFECF3F7);
p2DRender->RenderRect(DrawRect, 0xFFe1ebf2);
}
if( strlen( prj.m_aBadgeeIconProp.at(i).szIcon) )
{
CPoint ptIcon = pt;
ptIcon.x += 5;
ptIcon.y += 2;
CTexture *pIcon = CWndBase::m_textureMng.AddTexture(p2DRender->m_pd3dDevice, MakePath(DIR_ICON, prj.m_aBadgeeIconProp.at(i).szIcon),0xffff00ff);
if( ( (DWORD)g_pPlayer->GetLevel() >= prj.m_aBadgeeIconProp.at(i).dwLevel || prj.m_aBadgeeIconProp.at(i).dwLevel == NULL_ID ) &&
( prj.m_aJob[ g_pPlayer->GetJob() ].dwJobType >= prj.m_aBadgeeIconProp.at(i).dwClass || prj.m_aBadgeeIconProp.at(i).dwClass == NULL_ID ) &&
( prj.m_aBadgeeIconProp.at( i ).dwCondition == NULL_ID || prj.m_aBadgeeIconProp.at( i ).dwCondition & g_pPlayer->m_dwBadgeeOption ) )
{
pIcon->Render(p2DRender,ptIcon);
}
else
{
pIcon->Render(p2DRender,ptIcon, 75);
}
}
CRect rectToolTip(pt.x,pt.y,pt.x+35,pt.y+35);
pt.x += 40;
pt.y += 10;
p2DRender->TextOut(pt.x ,pt.y, prj.m_aBadgeeIconProp.at(i).szName, 0xFF000000 );
pt.x = 10;
pt.y += m_nFontHeight - 10;
}
}else
#endif // __BADGE_SYSTEM
Ich hoffe ihr könnt mir da weiter helfen, weil egal was ich änder ich bekomm den Abstand zwischen Klick und Badge nicht raus.