om fastsættelse dropdown bredde combobox

, når varigheden af en snor i en combobox overstiger bredde af combobox. der er tre ting, der kan ske, er, at afkorte string (ikke en god løsning), tilsættes en horisontal rulle bar,,, ændre bredde fald ned.,,,,,,, efter funktion vil nulstille bredden af dropdown listbox inden for en combobox.,,, det tager 2 parametre (1 valgfrit).,,, combobox er tcombobox er dropdown bredde skal ændres.,, bredde er en valgfri parameter med angivelse af bredde af - ned på listen.hvis bredde er mindre end den bredde combobox så denne parameter, vil blive ignoreret og bredde skal indstilles til den længste snor i combobox.,,, procedure setcombodropdownwidth (combobox: tcombobox; bredde: heltal = - 1);,, var, jeg textlen: longint,,, hvis: logfont;,, f: hfont;, begynder, hvis bredde < combobox. bredde så begynde, fillchar (hvis størrelse (lf) 0), strpcopy (lf.lffacename, combobox. skrifttype. navn), lf.lfheight: = combobox. skrifttype. højde., lf.lfweight: = fw_normal;,, hvis fsbold i combobox.font.style så, lf.lfweight: = lf.lfweight eller fw_bold;,,, f = createfontindirect (lf), hvis f < > 0), begynder,,,, combobox.canvas.handle: = getdc (combobox. klare),,,selectobject (combobox. lærred. klare, f);,,,, jeg: = 0 til combobox.items.count - 1 begynder, textlen: = combobox. lærred. textwidth (combobox. produkter [i]), hvis textlen > bredde så, bredde: = textlen,,,;,, (* standard combobox tegning er korrekte. venstre + 2,,, at tilføje ekstra afstand udligner dette *), inc. (bredde, getsystemmetrics (sm_cyvthumb) +, getsystemmetrics (sm_cxvscroll)); og endelig, releasedc (combobox.handle, combobox. lærred. klare),,, og, endelig, deleteobject (f);,,,,,,,,,,, sendmessage (combobox.handle, cb_setdroppedwidth, bredde, 0),,,,,,,,,, regards,,, si carter, orcka udvikling,,,,,,



Previous:
Next Page: