evc 对话框中显示jpg图片的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:49:08
我现在在对话框中添加了按钮 void xxxDlg::OnButton1()
想实现的功能有两个,点击按钮后首先能获取要显示图片的路径,现在已经实现了并把路径保存在CString strTemp1 中。第二个功能 想接着把对应路径的这个图片显示到对话框中。(这个按钮是程序的一小部分)想点击按钮后实现这两个功能。
这是我的代码,现在图片显示不出来,请问哪里不对? 或是大家有什么别的建议,帮帮忙,谢谢!
void CFinalDlg::OnButton1()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_EDIT2)->GetWindowText(m_edit2);

CppSQLite3DB db;
db.open(L"\\Fab\\mySqlite.db");
CppSQLite3Query q = db.execQuery(L"select * from Address_List where ID ='"+m_edit2+"'");

CString strTemp1;
while (!q.eof())
{
strTemp1.Format(L"%s",q.fieldValue(7));

q.nextRow();
}
q.finalize(); //以上为首先从数据库中查询出符合条件的路径strTemp1,根据调试结果,到这是可以的。

IImagingFactory *pImgFactory = NULL; //往下是查到的显示图片的代码
IImage *pImage = NULL;
CoInitializeEx(NULL, COINIT_MULTITHREADED);
HBITMAP hResult = 0;
i

EVC没搞过。
但和VC应该差不多的。
看了你的COM接口调用似乎都没错,而且也加了判断语句了。但后面的感觉有点混乱,是不是可以试下我给出的代码?

...
if (SUCCEEDED(pImgFactory->CreateImageFromFile(strTemp1, &pImage))){
CDC dc(this);
pImage->Draw(dc.GetSafeHdc(), CRect(0, 0, 200, 200), NULL);
}
pImage->Release();
}
pImgFactory->Release();
}
CoUninitialize();

为什么不能直接画在DC上呢?兼容设备建了,但使用方法和步骤是绝对不对的。你的代码里根本没用上。EVC一定要先画在兼容设备上的?