98下程序中的位图资源怎么不显示了? 在Win2000下编译正常可是转到win98下编以后却不能显示,也没出错这是什么原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Radio控件的响应函数void CAnalyStrentchBendingDlg::OnLSectionRADIO() { // TODO: Add your control notification handler code here UpdateData(true); m_nIDNum=1; m_chOutPut="类别:等曲率收边角材的一次拉弯\n适用范围:等曲率,角材,收边,无侧压,一次拉弯(Py+M+Pz)。\n各参数的意义:\n\tE\t弹性模量\n\tD\t应变刚指数\n\tF\t型材横截面面积\n\tH S S1 B均为型材形状参数,其意义可参看下面的图形\n\tL\t型材的长度\n\tα\t型材零件的弯角\n\tμ\t型材与模具间的摩擦系数\n\tσ0.2\t材料的屈服应力\n\tRnq\t型材回弹前内层材料的曲率半径(不是模具的半径)\n\tK\t回弹半径的修正系数\n\tPy\t预拉力\n\tΔL\t预拉伸量\n\tPz\t总拉力\n\tRnh\t型材回弹后的曲率半径\n\tΔR\t回弹半径"; HBITMAP hbmp; CBitmap m_bmp; m_bmp.LoadBitmap(IDB_LSection_BITMAP); hbmp = HBITMAP(m_bmp); m_cPicture.SetBitmap(hbmp); UpdateData(false);AfxMessageBox("ok");}如果在这个响应函数的末尾添加一个AfxmessageBox("ok");则可以看到,图形其实已经画上了。但是如果不加的话,图形会被重画为白色。void CAnalyStrentchBendingDlg::OnPaint() { HBITMAP hbmp; CBitmap m_bmp; //加载参数示意图片 switch(m_nIDNum){ case 1: m_bmp.LoadBitmap(IDB_LSection_BITMAP); break; //等曲率收边角材的一次拉弯示意图 case 2: m_bmp.LoadBitmap(IDB_TSection_BITMAP); break; //等曲率收边T型材的一次拉弯示意图 case 3: m_bmp.LoadBitmap(IDB_USection_BITMAP); break; //等曲率收边U型材的一次拉弯示意图 case 4: m_bmp.LoadBitmap(IDB_LSectionF_BITMAP); break; //等曲率放边角材的一次拉弯示意图 case 5: m_bmp.LoadBitmap(IDB_TSectionF_BITMAP); break; //等曲率放边T型材的一次拉弯示意图 case 6: m_bmp.LoadBitmap(IDB_USectionF_BITMAP); break; //等曲率放边U型材的一次拉弯示意图 case 7: m_bmp.LoadBitmap (IDB_TSectionH_BITMAP); break; //等曲率T型材横向的一次拉弯示意图 case 8: m_bmp.LoadBitmap (IDB_USectionH_BITMAP); break; //等曲率U型材横向的一次拉弯示意图 default: ; } hbmp = HBITMAP(m_bmp); m_cPicture.SetBitmap(hbmp); if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); }} UpdateData(false);后面加上Invalidate();强制重绘界面试试 谢谢Kevin_qing() ,这样试过了,和原来一样。大家帮帮忙呀! VC指定DLL的路径 有关路径包含的小问题 对话框的销毁!? 如何使滚动条跳转到任意行??? GetScrollPos(hwnd,SB_VERT)中的SB_VERT是什么意思 directx入门学习 关于DirectShow控制摄像头的一点小问题 如何使两个指向同一个mdb文件的ODBC连接保持即时同步? 关于word类函数的问题 关于mfc读取固定大小raw格式文件并显示灰度直方图 ADO怎样获取读取数据集的字段数,还有总记录数? 如何在DBGrid控件中添加表头?
void CAnalyStrentchBendingDlg::OnLSectionRADIO()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_nIDNum=1;
m_chOutPut="类别:等曲率收边角材的一次拉弯\n适用范围:等曲率,角材,收边,无侧压,一次拉弯(Py+M+Pz)。\n各参数的意义:\n\tE\t弹性模量\n\tD\t应变刚指数\n\tF\t型材横截面面积\n\tH S S1 B均为型材形状参数,其意义可参看下面的图形\n\tL\t型材的长度\n\tα\t型材零件的弯角\n\tμ\t型材与模具间的摩擦系数\n\tσ0.2\t材料的屈服应力\n\tRnq\t型材回弹前内层材料的曲率半径(不是模具的半径)\n\tK\t回弹半径的修正系数\n\tPy\t预拉力\n\tΔL\t预拉伸量\n\tPz\t总拉力\n\tRnh\t型材回弹后的曲率半径\n\tΔR\t回弹半径";
HBITMAP hbmp;
CBitmap m_bmp;
m_bmp.LoadBitmap(IDB_LSection_BITMAP);
hbmp = HBITMAP(m_bmp);
m_cPicture.SetBitmap(hbmp);
UpdateData(false);
AfxMessageBox("ok");}
如果在这个响应函数的末尾添加一个AfxmessageBox("ok");
则可以看到,图形其实已经画上了。
但是如果不加的话,图形会被重画为白色。void CAnalyStrentchBendingDlg::OnPaint()
{
HBITMAP hbmp;
CBitmap m_bmp;
//加载参数示意图片
switch(m_nIDNum){
case 1: m_bmp.LoadBitmap(IDB_LSection_BITMAP); break;
//等曲率收边角材的一次拉弯示意图
case 2: m_bmp.LoadBitmap(IDB_TSection_BITMAP); break;
//等曲率收边T型材的一次拉弯示意图
case 3: m_bmp.LoadBitmap(IDB_USection_BITMAP); break;
//等曲率收边U型材的一次拉弯示意图
case 4: m_bmp.LoadBitmap(IDB_LSectionF_BITMAP); break;
//等曲率放边角材的一次拉弯示意图
case 5: m_bmp.LoadBitmap(IDB_TSectionF_BITMAP); break;
//等曲率放边T型材的一次拉弯示意图
case 6: m_bmp.LoadBitmap(IDB_USectionF_BITMAP); break;
//等曲率放边U型材的一次拉弯示意图
case 7: m_bmp.LoadBitmap (IDB_TSectionH_BITMAP); break;
//等曲率T型材横向的一次拉弯示意图
case 8: m_bmp.LoadBitmap (IDB_USectionH_BITMAP); break;
//等曲率U型材横向的一次拉弯示意图
default: ;
}
hbmp = HBITMAP(m_bmp);
m_cPicture.SetBitmap(hbmp);
if (IsIconic())
{
CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
这样试过了,和原来一样。
大家帮帮忙呀!