简单问题:CFileDialog 怎样设置初始化的显示方式以缩略图的方式显示呢?(在线等待) 简单问题:CFileDialog 怎样设置初始化的显示方式以缩略图的方式显示呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说详细些,你的要求?看你的帖子,虽然不难,可以实现起来还是有点繁的!你要用标准的CFileDialog吗? 是的,现在用CFileDialog在win2000和xp打开文件,通常是用“查看菜单“中的列表方式显示的,但是我想把他改成“缩略图”的方式,因为我打开的是图片,我在打开前就能看到预览的图片的,用户选择就跟方便了! to SoLike: 不知道你对这个有怎样的实现方法,谢谢! 我不太明白缩略图指的是什么样的方式。不过使用CFileDialg可以在虚函数OnInitDone里面配置界面,你可以将默认的显示改成你想要的界面。还可以在虚函数OnFileNameChange里面相应选中的文件,这个时候就可以将文件内容显示出来了。在dlgs.h头文件里面定义的是CFileDialog界面的控件ID。你可以通过GetDlgItem得到它们的CWnd对象来隐藏它,也可以创建自己的控件。#ifndef _DLGSH_INCLUDED_#define _DLGSH_INCLUDED_#define ctlFirst 0x0400#define ctlLast 0x04ff//// Push buttons.//#define psh1 0x0400#define psh2 0x0401#define psh3 0x0402#define psh4 0x0403#define psh5 0x0404#define psh6 0x0405#define psh7 0x0406#define psh8 0x0407#define psh9 0x0408#define psh10 0x0409#define psh11 0x040a#define psh12 0x040b#define psh13 0x040c#define psh14 0x040d#define psh15 0x040e#define pshHelp psh15#define psh16 0x040f//// Checkboxes.//#define chx1 0x0410#define chx2 0x0411#define chx3 0x0412#define chx4 0x0413#define chx5 0x0414#define chx6 0x0415#define chx7 0x0416#define chx8 0x0417#define chx9 0x0418#define chx10 0x0419#define chx11 0x041a#define chx12 0x041b#define chx13 0x041c#define chx14 0x041d#define chx15 0x041e#define chx16 0x041f//// Radio buttons.//#define rad1 0x0420#define rad2 0x0421#define rad3 0x0422#define rad4 0x0423#define rad5 0x0424#define rad6 0x0425#define rad7 0x0426#define rad8 0x0427#define rad9 0x0428#define rad10 0x0429#define rad11 0x042a#define rad12 0x042b#define rad13 0x042c#define rad14 0x042d#define rad15 0x042e#define rad16 0x042f//// Groups, frames, rectangles, and icons.//#define grp1 0x0430#define grp2 0x0431#define grp3 0x0432#define grp4 0x0433#define frm1 0x0434#define frm2 0x0435#define frm3 0x0436#define frm4 0x0437#define rct1 0x0438#define rct2 0x0439#define rct3 0x043a#define rct4 0x043b#define ico1 0x043c#define ico2 0x043d#define ico3 0x043e#define ico4 0x043f//// Static text.//#define stc1 0x0440#define stc2 0x0441#define stc3 0x0442#define stc4 0x0443#define stc5 0x0444#define stc6 0x0445#define stc7 0x0446#define stc8 0x0447#define stc9 0x0448#define stc10 0x0449#define stc11 0x044a#define stc12 0x044b#define stc13 0x044c#define stc14 0x044d#define stc15 0x044e#define stc16 0x044f#define stc17 0x0450#define stc18 0x0451#define stc19 0x0452#define stc20 0x0453#define stc21 0x0454#define stc22 0x0455#define stc23 0x0456#define stc24 0x0457#define stc25 0x0458#define stc26 0x0459#define stc27 0x045a#define stc28 0x045b#define stc29 0x045c#define stc30 0x045d#define stc31 0x045e#define stc32 0x045f//// Listboxes.//#define lst1 0x0460#define lst2 0x0461#define lst3 0x0462#define lst4 0x0463#define lst5 0x0464#define lst6 0x0465#define lst7 0x0466#define lst8 0x0467#define lst9 0x0468#define lst10 0x0469#define lst11 0x046a#define lst12 0x046b#define lst13 0x046c#define lst14 0x046d#define lst15 0x046e#define lst16 0x046f//// Combo boxes.//#define cmb1 0x0470#define cmb2 0x0471#define cmb3 0x0472#define cmb4 0x0473#define cmb5 0x0474#define cmb6 0x0475#define cmb7 0x0476#define cmb8 0x0477#define cmb9 0x0478#define cmb10 0x0479#define cmb11 0x047a#define cmb12 0x047b#define cmb13 0x047c#define cmb14 0x047d#define cmb15 0x047e#define cmb16 0x047f//// Edit controls.//#define edt1 0x0480#define edt2 0x0481#define edt3 0x0482#define edt4 0x0483#define edt5 0x0484#define edt6 0x0485#define edt7 0x0486#define edt8 0x0487#define edt9 0x0488#define edt10 0x0489#define edt11 0x048a#define edt12 0x048b#define edt13 0x048c#define edt14 0x048d#define edt15 0x048e#define edt16 0x048f//// Scroll bars.//#define scr1 0x0490#define scr2 0x0491#define scr3 0x0492#define scr4 0x0493#define scr5 0x0494#define scr6 0x0495#define scr7 0x0496#define scr8 0x0497#endif // _DLGSH_INCLUDED_ CFileDialog文件打开时,我们可以设置大图标,小图标、列表、详细资料、缩略图这几种方式显示的,如果是图片我们选择缩略图,我们就能看到图片的内容了,这些设置在2K以上的操作系统才行的。 chb2000 () 留个邮箱吧,我发给你。通过定制CFileDialog来实现 我有了一种解决方法,void CMyFileDialog::OnInitDone(){ CFileDialog::OnInitDone(); CWnd *parent = GetParent(); if ( parent != NULL ) { parent->PostMessage(WM_COMMAND, 40964, NULL); }}40964是详细资料的ID号,但是我不知道缩略图的ID号,不知道有没有哪位大哥了解! [email protected]谢谢 SoLike(是我) 噢,我知道了。在虚函数OnInitDone里面lst1为显示文件的listctrl控件CWnd* m_list = GetDlgItem(lst1)。然后修改它的属性dwStyle可以为LVS_ICON Specifies icon view.LVS_LIST Specifies list view.LVS_REPORT Specifies report view.LVS_SMALLICON Specifies small icon viewm_list->ModifyStyle(LVS_TYPEMASK,dwStyle & LVS_TYPEMASK);我找不到缩略图的属性。这种是一种标准的方法,如果不行的话,可以尝试得到设置缩略图的按钮,把它设置为缩略图类型。以上代码我没有经过测试。 To chb2000(): 你说的那种parent->PostMessage(WM_COMMAND, 40964, NULL)我用了一下,是成功的,但是缩略图的消息ID是多少呢? 高手快帮帮忙呀! 我用SPY跟踪缩略图的按键消息,发现他是给发送了一个自定义的消息我想这是这和其它的四种方式不一样,应该不是使用这种方法了! 怪不得,在程序中用钩子死活捕获不到这个消息ID;To chb2000(): 你用SPY跟踪得到的那个自定义消息ID是多少呀?我觉得直接发送消息也应该可以吧! WM_USER + 302WM_USER + 300 To chb2000(): 哦! 我刚才跟踪了一下,发现好像共产生4个这样的消息! WM_USER + 302 WM_USER + 300 WM_USER + 302 WM_USER + 300 可是这些消息根本不能用! 郁闷,好像这个技术是个比较难的技术哟! 我觉得不能用消息的方式来实现了! http://expert.csdn.net/Expert/TopicView1.asp?id=1948789 请教zlib压缩文件 关于属性页的问题 [求助]WSAIoctl函数在那个dll中 关于线程摧毁的问题 找不到类定义的问题 关于如何重新得到socket对象的问题,谢谢,没分了,实在抱歉! 请教将整数数组转换成字符串的问题 保存对话框数据问题。 动态创建的控件,如何知道其ID 古老的问题:自绘位图菜单。 AfxGetApp()->XXX 怎么找到CMyView(单文档) 利用硬盘 ID 进行电子注册,格式化硬盘也不能改变注册授权 1000分
图片的,用户选择就跟方便了!
不知道你对这个有怎样的实现方法,谢谢!
在dlgs.h头文件里面定义的是CFileDialog界面的控件ID。你可以通过GetDlgItem得到它们的CWnd对象来隐藏它,也可以创建自己的控件。
#ifndef _DLGSH_INCLUDED_
#define _DLGSH_INCLUDED_#define ctlFirst 0x0400
#define ctlLast 0x04ff//
// Push buttons.
//
#define psh1 0x0400
#define psh2 0x0401
#define psh3 0x0402
#define psh4 0x0403
#define psh5 0x0404
#define psh6 0x0405
#define psh7 0x0406
#define psh8 0x0407
#define psh9 0x0408
#define psh10 0x0409
#define psh11 0x040a
#define psh12 0x040b
#define psh13 0x040c
#define psh14 0x040d
#define psh15 0x040e
#define pshHelp psh15
#define psh16 0x040f//
// Checkboxes.
//
#define chx1 0x0410
#define chx2 0x0411
#define chx3 0x0412
#define chx4 0x0413
#define chx5 0x0414
#define chx6 0x0415
#define chx7 0x0416
#define chx8 0x0417
#define chx9 0x0418
#define chx10 0x0419
#define chx11 0x041a
#define chx12 0x041b
#define chx13 0x041c
#define chx14 0x041d
#define chx15 0x041e
#define chx16 0x041f//
// Radio buttons.
//
#define rad1 0x0420
#define rad2 0x0421
#define rad3 0x0422
#define rad4 0x0423
#define rad5 0x0424
#define rad6 0x0425
#define rad7 0x0426
#define rad8 0x0427
#define rad9 0x0428
#define rad10 0x0429
#define rad11 0x042a
#define rad12 0x042b
#define rad13 0x042c
#define rad14 0x042d
#define rad15 0x042e
#define rad16 0x042f//
// Groups, frames, rectangles, and icons.
//
#define grp1 0x0430
#define grp2 0x0431
#define grp3 0x0432
#define grp4 0x0433
#define frm1 0x0434
#define frm2 0x0435
#define frm3 0x0436
#define frm4 0x0437
#define rct1 0x0438
#define rct2 0x0439
#define rct3 0x043a
#define rct4 0x043b
#define ico1 0x043c
#define ico2 0x043d
#define ico3 0x043e
#define ico4 0x043f//
// Static text.
//
#define stc1 0x0440
#define stc2 0x0441
#define stc3 0x0442
#define stc4 0x0443
#define stc5 0x0444
#define stc6 0x0445
#define stc7 0x0446
#define stc8 0x0447
#define stc9 0x0448
#define stc10 0x0449
#define stc11 0x044a
#define stc12 0x044b
#define stc13 0x044c
#define stc14 0x044d
#define stc15 0x044e
#define stc16 0x044f
#define stc17 0x0450
#define stc18 0x0451
#define stc19 0x0452
#define stc20 0x0453
#define stc21 0x0454
#define stc22 0x0455
#define stc23 0x0456
#define stc24 0x0457
#define stc25 0x0458
#define stc26 0x0459
#define stc27 0x045a
#define stc28 0x045b
#define stc29 0x045c
#define stc30 0x045d
#define stc31 0x045e
#define stc32 0x045f//
// Listboxes.
//
#define lst1 0x0460
#define lst2 0x0461
#define lst3 0x0462
#define lst4 0x0463
#define lst5 0x0464
#define lst6 0x0465
#define lst7 0x0466
#define lst8 0x0467
#define lst9 0x0468
#define lst10 0x0469
#define lst11 0x046a
#define lst12 0x046b
#define lst13 0x046c
#define lst14 0x046d
#define lst15 0x046e
#define lst16 0x046f//
// Combo boxes.
//
#define cmb1 0x0470
#define cmb2 0x0471
#define cmb3 0x0472
#define cmb4 0x0473
#define cmb5 0x0474
#define cmb6 0x0475
#define cmb7 0x0476
#define cmb8 0x0477
#define cmb9 0x0478
#define cmb10 0x0479
#define cmb11 0x047a
#define cmb12 0x047b
#define cmb13 0x047c
#define cmb14 0x047d
#define cmb15 0x047e
#define cmb16 0x047f//
// Edit controls.
//
#define edt1 0x0480
#define edt2 0x0481
#define edt3 0x0482
#define edt4 0x0483
#define edt5 0x0484
#define edt6 0x0485
#define edt7 0x0486
#define edt8 0x0487
#define edt9 0x0488
#define edt10 0x0489
#define edt11 0x048a
#define edt12 0x048b
#define edt13 0x048c
#define edt14 0x048d
#define edt15 0x048e
#define edt16 0x048f//
// Scroll bars.
//
#define scr1 0x0490
#define scr2 0x0491
#define scr3 0x0492
#define scr4 0x0493
#define scr5 0x0494
#define scr6 0x0495
#define scr7 0x0496
#define scr8 0x0497#endif // _DLGSH_INCLUDED_
void CMyFileDialog::OnInitDone()
{
CFileDialog::OnInitDone();
CWnd *parent = GetParent();
if ( parent != NULL ) {
parent->PostMessage(WM_COMMAND, 40964, NULL);
}
}
40964是详细资料的ID号,但是我不知道缩略图的ID号,不知道有没有哪位大哥了解!
谢谢 SoLike(是我)
在虚函数OnInitDone里面
lst1为显示文件的listctrl控件
CWnd* m_list = GetDlgItem(lst1)。
然后修改它的属性
dwStyle可以为
LVS_ICON Specifies icon view.
LVS_LIST Specifies list view.
LVS_REPORT Specifies report view.
LVS_SMALLICON Specifies small icon viewm_list->ModifyStyle(LVS_TYPEMASK,dwStyle & LVS_TYPEMASK);我找不到缩略图的属性。这种是一种标准的方法,如果不行的话,可以尝试得到设置缩略图的按钮,把它设置为缩略图类型。以上代码我没有经过测试。
To chb2000(): 你说的那种parent->PostMessage(WM_COMMAND, 40964, NULL)我用了一下,是成功的,但是缩略图的消息ID是多少呢?
高手快帮帮忙呀!
我想这是这和其它的四种方式不一样,应该不是使用这种方法了!
怪不得,在程序中用钩子死活捕获不到这个消息ID;To chb2000():
你用SPY跟踪得到的那个自定义消息ID是多少呀?我觉得直接发送消息也应该可以吧!
WM_USER + 300
To chb2000():
哦!
我刚才跟踪了一下,发现好像共产生4个这样的消息!
WM_USER + 302
WM_USER + 300
WM_USER + 302
WM_USER + 300
可是这些消息根本不能用!
郁闷,好像这个技术是个比较难的技术哟!
我觉得不能用消息的方式来实现了!