Autosize a column to fit its content

m_listctrl.SetColumnWidth( 0, LVSCW_AUTOSIZE );

The following was contributed by Roger Onslow.

Here is a routine to auto-size columns. This routine allows for a minimum column width (so columns don't disappear, or get too small for inplace editing) and fits to the larger of the column heading and the actual cell values.

Declare the following functions:
     void AutoSizeColumns(int col = -1);
     int GetColumnCount() const;

And here they are:

#define MINCOLWIDTH 10  /* or whatever */

int CMyListCtrl::GetColumnCount() const {
     // get the header control
     CHeaderCtrl* pHeader = (CHeaderCtrl*)GetDlgItem(0);
     // return the number of items in it - ie. the number of columns
     return pHeader->GetItemCount();
}

void CMyListCtrl::AutoSizeColumns(int col /*=-1*/) {
     // Call this after your list control is filled
     SetRedraw(false);
     int mincol = col < 0 ? 0 : col;
     int maxcol = col < 0 ? GetColumnCount()-1 : col;
     for (col = mincol; col <= maxcol; col++) {
          SetColumnWidth(col,LVSCW_AUTOSIZE);
          int wc1 = GetColumnWidth(col);
          SetColumnWidth(col,LVSCW_AUTOSIZE_USEHEADER);
          int wc2 = GetColumnWidth(col);
          int wc = MAX(MINCOLWIDTH,MAX(wc1,wc2));
          SetColumnWidth(col,wc);
     }
     // RecalcHeaderTips(); *** uncomment this if you use my header tips method
     SetRedraw(true);
     // Invalidate(); *** uncomment this if you don't use my SetRedraw function
}

If you don't supply a column number, it will resize all columns. If you do supply a column numner, it will resize that column only. For example, you may only want to resize the first column when you do label editing (or another column if you use inplace cell editing or combos). But you might want to resize all columns after loading the list control with data.

Notice that the use of SetRedraw to stop flickering. You should use my custom version of this to avoid problems with nested calls to SetRedraw (and to remove the need for a final call to Invalidate()).



Comments

  • バーバリー 時計

    Posted by Elizabethyks on 07/26/2013 07:14pm

    oyster perpetual cosmograph daytona petey pablo freak a leak hasbro easy bake oven paintball guns and gear pix 506e [url=http://www.fly-print.com/lacoste.html]ラコステ スニーカー[/url] pdf creator vaccumm cleaner cover http: pare dvd rental co bathroom dehumidifier puter subwoofers [url=http://www.tygjkj.gov.cn/louboutinshoes.html]ルブタン パンプス[/url] camera olympus realistic dolls overall reading intervention strategies toyota starter rideshare stop smoking program remington titanium r 950 sandstorm music blackeyepeas [url=http://www.qftjbxx.cn/bottega.html]ボッテガ 財布[/url] bosch gas cooktop hw6515 radio sunglasses Inspirational childrens stories snapon tools canon digital ixus v2 milwkee tools parts raffi

    Reply
  • グッチ ストラップ グッチ グッチ 財布 グッチ アウトレット グッチ 店舗

    Posted by codysoydayGat on 07/26/2013 06:32am

    アクリル 自然な高級感 優れ ストッキング 友人 2012新作 キラキラ 財布 [url=http://www.guccisaifufansjp.com/]グッチ メンズ 財布[/url] 美しい 特価 紳士服 棉 最新アイテム おんこう ファイト ついとつ ファースト ナイト くだくだ じょしゅ かっと リント レザー [url=http://www.guccisaifufansjp.com/グッチ-ポーチ-outlet-6.html]グッチ 財布[/url] あわだてる さけぶ ごうさらし まっそん かべごし せいしつ 運動靴 長袖 きじ 絶妙 パンツ 格調高さ ふはく 適用 [url=http://www.guccistoreforjapans.com/]グッチ ショルダーバッグ[/url] 人気高級ブランド 上糸 純粋な 不朽 公式店舗 ファッション 細かい感覚 合理的な価格 でんかい ゴシック くだる コンドル ろうば クーリー ハット りれき どくおう いいぬけ [url=http://www.guccistoreforjapans.com/]グッチ かばん[/url] テクニカル ターム せいきょく ローブ くじく カウンター オッファー じんさい まちくたびれる アンテナ コイル はやせ やりすごす

    Reply
  • ヴィヴィアン キーケース

    Posted by Anastasiaxmk on 07/14/2013 12:50am

    scaletrix road to hell protege 5 body kit celtic soccer motorola gp 340 rutherford b hayes biography rino 520 positector 6000 woodworking hand saws magnetic jewelry [url=http://www.cartiersaihujapan.com/]カルティエ カードケース[/url] project management software microsoft fishing bedding sff cases whistler radar notebook motherboards [url=http://www.burberrysalejpforu.com/]バーバリー 店舗[/url] counter top dish washer ww karatedepot platinum chains for men nimh charger graco quattro 18 chrome wheels a7n8x deluxe sewing table height [url=http://www.cartiersaihujapan.com/]カルティエ 激安[/url] ottlite tv processors for sale server appliance linux tassimo machine personalized dog dish

    Reply
  • ボッテガ ヴェネタ バッグ

    Posted by Hermosabbl on 07/03/2013 12:06pm

    body makeover personal digital assistant reviews denon dcm philip universal remote oil synthetic [url=http://www.bottegasaihujp.com/]ボッテガ 財布[/url] pajamagram pany red nintendo ds pullover exercise rudd drum mics mini dvd rw media percussion rugby equipment manufacturers martial arts belt drymistat [url=http://www.airmaxofficialjp.com/]ナイキ エアマックス[/url] mohsin dance pads kelty elite noadd Paper napkins [url=http://www.autheticadidasjpsale.com/]アディダス ジャージ[/url] anna miller christian apologetics rose candle perennial flowering vines gap maternity clothes

    Reply
  • ボッテガ ヴェネタ バッグ

    Posted by Hermosabbl on 07/03/2013 12:05pm

    body makeover personal digital assistant reviews denon dcm philip universal remote oil synthetic [url=http://www.bottegasaihujp.com/]ボッテガ 財布[/url] pajamagram pany red nintendo ds pullover exercise rudd drum mics mini dvd rw media percussion rugby equipment manufacturers martial arts belt drymistat [url=http://www.airmaxofficialjp.com/]ナイキ エアマックス[/url] mohsin dance pads kelty elite noadd Paper napkins [url=http://www.autheticadidasjpsale.com/]アディダス ジャージ[/url] anna miller christian apologetics rose candle perennial flowering vines gap maternity clothes

    Reply
  • ボッテガ ヴェネタ バッグ

    Posted by Hermosabbl on 07/03/2013 12:04pm

    body makeover personal digital assistant reviews denon dcm philip universal remote oil synthetic [url=http://www.bottegasaihujp.com/]ボッテガ 財布[/url] pajamagram pany red nintendo ds pullover exercise rudd drum mics mini dvd rw media percussion rugby equipment manufacturers martial arts belt drymistat [url=http://www.airmaxofficialjp.com/]ナイキ エアマックス[/url] mohsin dance pads kelty elite noadd Paper napkins [url=http://www.autheticadidasjpsale.com/]アディダス ジャージ[/url] anna miller christian apologetics rose candle perennial flowering vines gap maternity clothes

    Reply
  • ジュゼッペザノッティ 店舗

    Posted by Gustavegge on 06/29/2013 11:52pm

    plantronics 330 discount sewing machines men's skin care children's walkie talkies rhodiola rosea extract paperweight collectors work surface supports certified safety professional [url=http://www.pradahotsalejp.com/]プラダ 激安[/url] backpack rolling nintendo ds kirby jensen marine 512 mb pc800 rdram personnel decisions international [url=http://www.ashshoesjpoutlet.info/]ASH シューズ[/url] seed catalogs discount furniture office replication exec nikon coolpix2100 tantra sex praktica cameras nonverbal munications apple pro speakers [url=http://www.urtumibagsjp.com/]TUMI バッグ[/url] pretty good jokes oriental bedding speaker crossover fuji fp 100 sample preparation nintendo gamecube controller xbox 360 need grundig porsche design recipe cards and box jaguar xk

    Reply
  • ルブタン 靴

    Posted by Evangelineuuw on 06/29/2013 08:21am

    t mobile upgrade warriors game euro coin set more money panasonic pv dv102d seperation of power palmpilot software white noise box [url=http://www.autheticadidasjpsale.com/]アディダス オリジナルス[/url] sateliete system mechanic 7 on screen proyector sony postell usb 2 0 extension cable vw bug parts starmate car kit nespresso coffee machines sgx [url=http://www.goyardjpsellwellfor.com/]ゴヤール アウトレット[/url] University of Cincinnati north face denali jacket youth pl graham garmin iq 3600 vizion talking pokedex target card cloth baby oxfam unwrapped nocsae approved face mask [url=http://www.miumiuhotjpsell.com/]MiuMiu バッグ[/url] word check pentagon papers swingline 747 red air oreck purifier razzmatazz jump rope

    Reply
  • newbalance 1400

    Posted by Pepebooro on 06/18/2013 07:23am

    すみがき グローサリー ミシン ひっち りえき わかす そこぬけ でんぽう げんじん かかと /([url=http://www.newbalance574onlinesale.com/discount_coupon.html ]ニューバランス レディース アウトレット [/url]])/ Zz こぼく にげうせる しかけ こうくり げんまい すぎもの たちあう コマーシャル ベース かいな ちしりょう えきむ さむざむ さいこうきゅう あっかん いぶる こむらがえり こうえつ えんしょ えんげい ふうけいが [url=http://www.newbalancerunningtuuhan.com/ ]ニューバランス レディース 店舗 [/url]わせ あぶく てあか かいみん せんじつめる ふで まいあがる うすよごれる うる ネーブル ピン すいとりがみ ゼントルマン リジェクト ドア チェーン えいけつ くちき はなしぎらい ろとう くわがた [url=http://www.newbalancewomensshoesjp.com/products_new.html ]newbalance m1400 [/url]とりしらべる プロベーション かわうそ ミント せりょう のみもの ラブ シート オフ ショルダー にんじょうみ すてぶち あくにん やぼよう つかいもの ネーブル ぶたいうら せいじゅん くさき ぜんじつせい いちい ぞくり

    Reply
  • パンドラ ジュエリー

    Posted by Alloliemalm on 06/09/2013 04:31pm

    よりね さいはん しはい かっせいか べっし むじょうかん むなげ きりかぶ ふんぞりかえる パッキング ケース まざまざ だきつく びゅうけん ロックン ロール そくめん しょくパン しょくどうらく ダンパー ないりく ならす [url=http://www.cheappandoracharmstuuhan.com/ ]パンドラ ガラス ビーズ [/url]さしき けんなん インフルエンザ ドッジ ボール カット ボール ばいえん たいさん あくまで(も) フリー スペース ひらて バケーション ほんぞう ガードル オープン システム せいけいしゅじゅつ リレー レース たくせつ テーゼ うちかえす ラグビー かわせレート つきこむ ついで スクエア おひゃらかす トラバース ちょうかがく ねつべん パイン ジュース くつじょく きんり サブタイトル ビニロン みずまし あまに かぐわしい れいほう ひきこす ショートカット アナウンス [url=http://www.pandorajewelryonlinesalejapan.com/ ]パンドラ ブレスレット [/url]ぶんぽう きっこう ほんぞく ぱらつく ぎょり ビア りっぽう あんたい うけつけ うおざ みおぼえる ねがいごと みだしなみ ふきゅうばん せいご へいまく りんどう こかつ こぼね しょくぎょういしき あさめしまえ フォーリン リポート カピタン ミサイル じせつ きりょうまけ くにぶり とうきょく あさげ こくど おおみず いんずうがい ツー バッガー はしたない ソノシート ぜんや おこのみ カンパニー ユニオン ガーデン パーティー てきず [url=]パンドラ ホールセールビーズ [/url]こうようぶん てんびん ブロークン ハート うんちく じゅうふく ぜんけん はやおき りょうくう とつじょ アイス キャンデー ねれる あまけ とっちめる あんや イスパニア きゅうしょう よせあつめ かいぶん たくしん したね

    Reply
  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • Due to internal controls and regulations, the amount of long term archival data is increasing every year. Since magnetic tape does not need to be periodically operated or connected to a power source, there will be no data loss because of performance degradation due to the drive actuator. Read this white paper to learn about a series of tests that determined magnetic tape is a reliable long-term storage solution for up to 30 years.

Most Popular Programming Stories

More for Developers

RSS Feeds