菜鸟问一个很难得问题:Dialog窗口显示图片的问题

科学家 2006-02-22 01:04:05
我想在一个Dialog中显示一幅、两幅、或者更多幅图片。需要运行时用户来求确定到底几幅图片。一幅图的时候,那幅图片合适大小的占着整个Dialog。两副的时候平分窗口.... 如果在运行时候Dialog中有两副图,这时候用户想再加几张进去,要求窗口能够自动重新分配每幅图片的大小和位置。
关于这个问题,我想过窗口拆分问题。不过见到的都是SDI的拆分,而我这里是Dialog。不知道是否有方法解决这个问题?
其实就是这样一个程序:左侧有个BMP、jpg文件列表。用户向Dialog里面拖几个文件名。那个Dialog就把该文件给显示出来。不知道用户会拖几个,所以要动态的拆分Dialog来适应。郁闷!请大家救济救济吧!
...全文
364 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
科学家 2006-03-07
  • 打赏
  • 举报
回复
收到
chenjuaxuan 2006-02-23
  • 打赏
  • 举报
回复
楼主可以试试先创建一个新控件撒,从CStatic派生吧,用来显示图片.如:CMyImageStatic

当用户加一个图片到对话框中就动态创建一个CMyImageStatic呀.位置自己设定哈.

这样比较好管理.
科学家 2006-02-22
  • 打赏
  • 举报
回复
一个傻冒 2006-02-22
  • 打赏
  • 举报
回复
JPEG也要先转成BMP才行的.
可以用现成的库.
科学家 2006-02-22
  • 打赏
  • 举报
回复
这个函数能否搞定jpg图片啊?虎子大哥?
科学家 2006-02-22
  • 打赏
  • 举报
回复
哦?哈哈!
我试试看!谢谢您,虎子大哥!
huziwu 2006-02-22
  • 打赏
  • 举报
回复
错了,不是前四个。是改变
int nXOriginDest, // x-coord of destination upper-left corner
int nYOriginDest, // y-coord of destination upper-left corner
int nWidthDest, // width of destination rectangle
int nHeightDest, // height of destination rectangle
huziwu 2006-02-22
  • 打赏
  • 举报
回复
用StretchBlt();可以改变图像的显示位置,根据图像的数量分划窗口.
BOOL StretchBlt(
HDC hdcDest, // handle to destination DC
int nXOriginDest, // x-coord of destination upper-left corner
int nYOriginDest, // y-coord of destination upper-left corner
int nWidthDest, // width of destination rectangle
int nHeightDest, // height of destination rectangle
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of source upper-left corner
int nYOriginSrc, // y-coord of source upper-left corner
int nWidthSrc, // width of source rectangle
int nHeightSrc, // height of source rectangle
DWORD dwRop // raster operation code
);
改变前四个参数就可以实现你的要求了
科学家 2006-02-22
  • 打赏
  • 举报
回复
ydfivy(我就是一送外卖的):
再详细说说你的意思啊!怎么做?
科学家 2006-02-22
  • 打赏
  • 举报
回复
只要能达到图片的显示要求就可以了,不管什么途径,不必非要拆分窗口。
一个傻冒 2006-02-22
  • 打赏
  • 举报
回复
我觉得用拆分窗体不算什么好方法.
做成WINDOWS那种,预览多幅图片的方法不行吗?为每个图片划分固定大小的区域.
做起来也相对容易.
你这种办法.不知道是不是要求必须这么做.
一幅图片,占整个DIALOG.两幅一边一半.
多了的话,划分起来你心里也叫不准吧?
科学家 2006-02-22
  • 打赏
  • 举报
回复
顶、顶、顶
科学家 2006-02-22
  • 打赏
  • 举报
回复
可是我的主程序已经确定量了SDI了。主程序还有自己的用处。不能用来显示图片
科学家 2006-02-22
  • 打赏
  • 举报
回复
上去
吹泡泡的小猫 2006-02-22
  • 打赏
  • 举报
回复
这种情况就不要用dialog啦,用多文档界面不是更好

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧