set align for header control
-
I want to set align for each column in my listview so I get handle of header control of listview then use SetItem member function of CHeaderCtrl to do this. About Align => ok, I got it but I lost all caption (text) in each column header (no text in headers) if I use only hdi.mask = HDI_TEXT; >> my texts will not disappear What I need to do to set align for each column and all text is still appear ///////////////////////////////////////////////// #define LEFT 1 #define CENTER 2 #define RIGHT 3 MyListViewCtrl m_ListCtrl; m_ListCtrl.cColumnMax = 4; m_ListCtrl.InsertColumn (0, "#");//left-default m_ListCtrl.InsertColumn (1, "ID");//left m_ListCtrl.rgcAlign[1]=1; m_ListCtrl.InsertColumn (2, "Name");//center m_ListCtrl.rgcAlign[2]=2; m_ListCtrl.InsertColumn (3, "Cost");//right m_ListCtrl.rgcAlign[3]=3; m_ListCtrl.SetAlign();//set align for all column //////////////////////////////////////////// void MyListViewCtrl::SetAlign() { CHeaderCtrl* pHeader = GetHeaderCtrl( ); HDITEM hdi; for (int i=0; iGetItem(i, &hdi)); hdi.fmt = (rgcAlign[i]==LEFT?HDF_LEFT:(rgcAlign[i]==CENTER?HDF_CENTER:HDF_RIGHT)); hdi.pszText = buffer; hdi.cchTextMax = 256; VERIFY(pHeader->SetItem(i, &hdi)); } }
-
I want to set align for each column in my listview so I get handle of header control of listview then use SetItem member function of CHeaderCtrl to do this. About Align => ok, I got it but I lost all caption (text) in each column header (no text in headers) if I use only hdi.mask = HDI_TEXT; >> my texts will not disappear What I need to do to set align for each column and all text is still appear ///////////////////////////////////////////////// #define LEFT 1 #define CENTER 2 #define RIGHT 3 MyListViewCtrl m_ListCtrl; m_ListCtrl.cColumnMax = 4; m_ListCtrl.InsertColumn (0, "#");//left-default m_ListCtrl.InsertColumn (1, "ID");//left m_ListCtrl.rgcAlign[1]=1; m_ListCtrl.InsertColumn (2, "Name");//center m_ListCtrl.rgcAlign[2]=2; m_ListCtrl.InsertColumn (3, "Cost");//right m_ListCtrl.rgcAlign[3]=3; m_ListCtrl.SetAlign();//set align for all column //////////////////////////////////////////// void MyListViewCtrl::SetAlign() { CHeaderCtrl* pHeader = GetHeaderCtrl( ); HDITEM hdi; for (int i=0; iGetItem(i, &hdi)); hdi.fmt = (rgcAlign[i]==LEFT?HDF_LEFT:(rgcAlign[i]==CENTER?HDF_CENTER:HDF_RIGHT)); hdi.pszText = buffer; hdi.cchTextMax = 256; VERIFY(pHeader->SetItem(i, &hdi)); } }
Check the replies in the microsoft.public.vc.mfc newsgroup.