void ZToolTip::SetBounds(void) { MFont* pFont = GetFont(); char szName[MWIDGET_NAME_LENGTH]; RemoveAnd(szName, m_bUseParentName==true?GetParent()->m_szName:m_szName); int nWidth = pFont->GetWidthWithoutAmpersand(szName); int nHeight = pFont->GetHeight(); int x, y; GetPosAlignedWithParent(x, y, nWidth, nHeight); // 최소사이즈 16 size bitmap 일경우.. 32x32 규정? int w = max(nWidth+ZTOOLTIP_WIDTH_GAP*2,32); int h = max(nHeight+ZTOOLTIP_HEIGHT_GAP*2,32); if(w) { // int line = (w / (ZTOOLTIP_MAX_W-20))+1; int _max=0; int line = GetLineCount( szName , _max ); int _max_w = MAX_TOOLTIP_LINE_STRING*(pFont->GetWidth("b")); if(line) { w = _max_w; h = h + ((nHeight + ZTOOLTIP_LINE_GAP) * line); } // else w = min(w,_max_w); } MWidget::SetBounds(MRECT(x-ZTOOLTIP_WIDTH_GAP, y-ZTOOLTIP_HEIGHT_GAP,w,h)); }
int RemoveAnd(char* szRemovedText, const char* szText){ if(szText==NULL) return -1; strcpy(szRemovedText, szText); return RemoveAnd(szRemovedText); }