you need to use Tabs.
When formatting the line, insert "\t" in the positions you want tabs, e.g.
strTemp.Format("%-15s\t%-50s%-50s%-5s\t%-15s",record.date,record.milestone,record.tasktype,record.effort,record.name);
Then you need to apply the "paragraph" formatting to the selected area. You need to play with the "tab" positions. Here is example for 2 tabs per line with the format applied for the whole text:
PARAFORMAT pf;
setmem(&pf, 0, sizeof(pf)); pf.cbSize = sizeof(pf);
pf.dwMask = PFM_TABSTOPS;
pf.cTabCount = 2; pf.rgxTabs[0] = 720; pf.rgxTabs[1] = 1440; mRichEditCtrl.SetSel(0, -1); mRichEditCtrl.SetParaFormat(pf);