作者OPliao (OPman)
看板C_and_CPP
标题[问题] MFC Dialog控制view显示图片
时间Fri Feb 23 10:24:42 2018
开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VS2017
问题(Question):
各位好
我在一个view中放了button与picture control
透过点击按钮可显示bitmap图片 程式码如下图
https://imgur.com/a/JWW2W
现在我要透过Dialog的按钮让同个view显示图片
试过在双击按钮自动产生的BN_CLICKE事件中加入程式 但有错误讯息
https://imgur.com/a/NUin1
也试过对按钮加入event handler
我在class list选该view
在function中试着跳出一个messagebox 不过却没反应
https://imgur.com/a/mlTFM
(也试过把显示图片程式码放上去 也没反应)
是不是少了什麽步骤?
请各位前辈指导
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 202.39.226.12
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1519352685.A.69F.html
1F:推 suwako: 控件ID要换掉 不能用IDC_STATIC 02/23 13:36
原来要换ID, 不过改了之後还是一样的情况, view的button没问题, Dialog依旧无法, 或者需要宣告什麽吗?
2F:→ suwako: 你现在是写成怎样? 02/23 14:41
我把picture control的ID改成IDC_PICTURE来使用
3F:→ suwako: 那你说的Dialog是怎麽写?我看不到你的code,我不知道你是 02/23 15:10
4F:→ suwako: 怎样的问题阿 02/23 15:10
我在dialog button的code与第一张图片相同(显示bitmap的程式码)
5F:→ suwako: 你还是把code贴出来吧,我没有水晶球 02/23 15:47
CODE:
void CDialogTEST1::OnBnClickedButton2()
{
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CStatic *p = (CStatic *)GetDlgItem(IDC_PICTURE);
p->ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);
p->SetBitmap(bitmap);
}
※ 编辑: OPliao (202.39.226.12), 02/23/2018 15:50:38
6F:→ suwako: 会不会是你event连结有问题? 02/23 17:17
7F:→ F04E: 你是要让view显示图片?如果是的话,GetDlgItem取到的指标是 02/26 17:40
8F:→ F04E: dialog上的control,而不是view上的 02/26 17:41
9F:→ F04E: 应该要把dialog的爸爸(或妈妈)设成view并在view上加一个 02/26 17:44
10F:→ F04E: 秀图函数,然後在dialog的bn_click event里透过爸爸(或妈妈 02/26 17:46
11F:→ F04E: )的pointer呼叫秀图函数,以上。 02/26 17:47