• 欢迎光临~

修改ListCtrl控件列标题文本居左显示

开发技术 开发技术 2022-01-25 121次浏览

修改ListCtrl控件标题文本居左显示

 修改ListCtrl控件列标题文本居左显示

 

 

原来的列标题文本是居中显示:

 

 修改ListCtrl控件列标题文本居左显示

 

 

现在要把列表文本居中改为居左显示

 

 

 

其方法如下:

 

  1. 获得标题控件句柄

g_listCtrl.m_hWnd为ListCtrl控件的句柄

 

HWND hHead =(HWND)::SendMessage(g_listCtrl.m_hWnd, LVM_GETHEADER, 0, 0);

 

  1. 在ListCtrl控件插入列后面,获得列的总数

int nCol = SendMessage(hHead, HDM_GETITEMCOUNT, 0, 0);

 

  1. 循环设置列的文本居左显示

 

要填充一个HDITEM结构体

 

for (int i = 0; i < nCol; i++)

{

              HDITEM ht = { 0 };

    ht.mask = HDI_FORMAT /*| HDI_WIDTH | HDI_TEXT*/;//设置下面的fmt数据有效的掩码

 

    ht.fmt = HDF_LEFT | HDF_STRING; //主要是这句,设置为居左,显示字符串

    int n = SendMessage(hHead, HDM_SETITEM, i, LPARAM(&ht));    

}

 

这样就成功修改列标题文本显示的位置了.

 

程序员灯塔
转载请注明原文链接:修改ListCtrl控件列标题文本居左显示
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com