如何实现在ListBox中的换行?

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:12:26
我在编写一个解一元二次方程的简单程序时,需要实现:
1、判断方程解的类型(无解,一个根,实数解,虚数解等)
2、根据第1步的判断,输出相应的解
把相应的结果显示到一个ListBox中,例如 5x=5,显示:

方程只有一个解。
x=-1

以下是我当前解方程的部分代码:
void CEquationDlg::OnCalculate()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
if(fabs(a)<1e-6)
if(fabs(b)<1e-6)
sort=1; // 方程无解
else
sort=2; // 方程只有一个解
else
{
dlt=b*b-4*a*c;
if(dlt<0.0)
sort=3; // 方程有两个虚数解
else if(dlt==0)
sort=4; // 方程有两个相同的实数解
else
sort=5; // 方程有两个不同的实数解
}
double term1,term2;
term1=-b/(2*a);
term2=sqrt(fabs(dlt))/(2*a);
CString temp;
switch(sort)
{
case 1:
Value="方程无解。";
List.AddString(Value);
break;
case 2:
Value="方程只有一个解:";
List.AddString(Value);
x1=-c/b;
temp.Format("%f",x1);
Value="x=";
Value+=temp;

1、首先选中拖至面板的ListBox控件,点属性,选中DrawMode,改成OwnerDrawFixed或OwnerDrawVariable
2、还是在属性工具中,切换到事件(就是那个闪电图标),鼠标双击‘行为’菜单下的DrawItem,添加一个事件。
3、在‘窗体设计器生成的代码’中就添加了一个新的事件
this.listBox1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox1_DrawItem);
4、在事件中添加代码,你自己通过文字的长度和文字的高度,计算每一列的宽度,进行设置。

list.InsertItem(index,szcontent);