>IF !This.Parent.Parent.SplitLineHitTest(This) > RETURN >ENDIF > >LOCAL liSele,liRecno,liHeight,liRow,lolbl,liRelRow,; > lcSource,loColumn,liMax,luVal,lcType >IF EOF(This.Parent.Parent.RecordSource) && pokud tam není ani záznam > RETURN && pak se vra >ENDIF > >liSele=SELE() && uschovej si oblast >WITH This.Parent.Parent >SELE (.RecordSource) && skoè na tabulku >liHeight=.Height-.HeaderHeight-IIF(INLIST(.ScrollBars,1,3),16,0) >liRow=INT(liHeight/.RowHeight) >liRelRow=.RelativeRow && relativní øádek >ENDWITH >loColumn=This.Parent && aktivní sloupec >lcSource=loColumn.ControlSource && zdroj dat > >loControl=EVAL("loColumn."+loColumn.CurrentControl) >lcType=TYPE("loControl.Value") > >* nyní projdu viditelný øádky a zjistím šíøku textu >liRecno=RECNO() && zjisti pùvodní vìtu > >LOCAL ARRAY laFont(6) && ZMÌNA VELIKOSTI OBJEKTU DLE NADPISU >* USCHOVÁNÍ INF. O FINTU NA SCREENU >laFont(1)=_SCREEN.FontName >laFont(2)=_SCREEN.FontSize >laFont(3)=_SCREEN.FontBold >laFont(4)=_SCREEN.FontItalic >laFont(5)=_SCREEN.FontStrikethru >laFont(6)=_SCREEN.FontUnderline > >IF !PEMSTATUS(loControl,"PropAsColumn",5) OR ; > PEMSTATUS(loControl,"PropAsColumn",5) AND; > !loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=loControl.FontName > _SCREEN.FontSize=loControl.FontSize > _SCREEN.FontBold=loControl.FontBold > _SCREEN.FontItalic=loControl.FontItalic > _SCREEN.FontStrikethru=loControl.FontStrikethru > _SCREEN.FontUnderline=loControl.FontUnderline >ENDIF > >SKIP -1*(liRelRow-1) && skoè na zaèátek viditelného obsahu >liMax=0 > >DO CASE > CASE lcType='C' && øetìzec > SCAN NEXT liRow > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > > luVal=EVAL(lcSource) > luVal=IIF(ISNUL(luVal),".NULL.",RTRIM(luVal)) > liy=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > IF liy>liMax > liMax=liy > ENDIF > ENDSCAN > > CASE lcType='M' && øetìzec > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal="Memo" > liMax=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > > CASE lcType='L' && logická hodnota > SCAN NEXT liRow > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal=EVAL(lcSource) > luVal=IIF(ISNUL(luVal),".NULL.",IIF(luVal,'T','F')) > liy=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > IF liy>liMax > liMax=liy > ENDIF > ENDSCAN > > CASE lcType='I' && Integer hodnota > SCAN NEXT liRow > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal=EVAL(lcSource) > luVal=IIF(ISNUL(luVal),".NULL.",LTRIM(STR(luVal,20))) > liy=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > IF liy>liMax > liMax=liy > ENDIF > ENDSCAN > > CASE lcType$'Y,N,F,B' && numerická hodnota > SCAN NEXT liRow > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal=EVAL(lcSource) > luVal=IIF(ISNUL(luVal),".NULL.",NumToChar(luVal)) > liy=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > IF liy>liMax > liMax=liy > ENDIF > ENDSCAN > > CASE lcType='D' && datum > SCAN NEXT liRow > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal=EVAL(lcSource) > luVal=IIF(ISNUL(luVal),".NULL.",DTOC(luVal)) > liy=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > IF liy>liMax > liMax=liy > ENDIF > ENDSCAN > > CASE lcType='T' && datum a èas > SCAN NEXT liRow > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal=EVAL(lcSource) > luVal=IIF(ISNUL(luVal),".NULL.",TTOC(luVal)) > liy=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ > IF liy>liMax > liMax=liy > ENDIF > ENDSCAN > > CASE lcType='G' && general ( objekt ) > IF PEMSTATUS(loControl,"PropAsColumn",5) AND loControl.PropAsColumn > * NASTAVENÍ INF. FontU NA SCREENU DLE OBJEKTU > _SCREEN.FontName=IIF(EMPTY(loColumn.DynamicFontName),loColumn.FontName,EVAL(loColumn.DynamicFontName)) > _SCREEN.FontSize=IIF(EMPTY(loColumn.DynamicFontSize),loColumn.FontSize,EVAL(loColumn.DynamicFontSize)) > _SCREEN.FontBold=IIF(EMPTY(loColumn.DynamicFontBold),loColumn.FontBold,EVAL(loColumn.DynamicFontBold)) > _SCREEN.FontItalic=IIF(EMPTY(loColumn.DynamicFontItalic),loColumn.FontItalic,EVAL(loColumn.DynamicFontItalic)) > _SCREEN.FontStrikethru=IIF(EMPTY(loColumn.DynamicFontStrikethru),loColumn.FontStrikethru,EVAL(loColumn.DynamicFontStrikethru)) > _SCREEN.FontUnderline=IIF(EMPTY(loColumn.DynamicFontUnderline),loColumn.FontUnderline,EVAL(loColumn.DynamicFontUnderline)) > ENDIF > luVal='General' > liMax=_SCREEN.TextWidth(luVal)+4 && VÝPOÈET ŠÍØKY V ZÁVISLOSTI NA ZDA OBJEKT MÁ OKRAJ >ENDCASE > >_SCREEN.FontName=laFont(1) >_SCREEN.FontSize=laFont(2) >_SCREEN.FontBold=laFont(3) >_SCREEN.FontItalic=laFont(4) >_SCREEN.FontStrikethru=laFont(5) >_SCREEN.FontUnderline=laFont(6) > >GO liRecno && skoè na pùvodní vìtu >IF liMax>0 && pokud tam nìco je > loColumn.Width=liMax && pak nastav novou šíøku >ENDIF >SELE (liSele) >>
>* Zjistí, zda se myš (v okamžiku kliknutí na header) nachází nad èarou oddìlující sloupce >LPARAM loHeader > >LOCAL liMRow, liMRowMax >liMRow=MCOL(Thisform.Name,3) && pozice myši >liMRowMax=OBJTOCLIENT(loHeader,2)+loHeader.Parent.Width+1 && pozice sloupce + šíøka sloupce pøevedeno na formuláø >* pokuï seš mimo >RETURN BETWEEN(liMRow,liMRowMax-5,liMRowMax+5) >>