如何实现大图标风格的打开对话框(2)

2008-02-23 05:36:27来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


void __fastcall TfrmMain::WndProc(TMessage &Msg)
{
// 重载WndProc实现消息的自定义处理
if(Msg.Msg == WM_USER 1)
{
// 文档列表是个ListView控件,其父控件关系如下:
// TOpenDialog-->SHELLDLL_DefView-->SysListView32
HWND hDlg = (HWND)Msg.WParam;
HWND hCtrl = FindWindowEx(hDlg, NULL, "SHELLDLL_DefView", NULL);
if(hCtrl != NULL)
// 向SHELLDLL_DefView控件发送 WM_COMMAND 消息
// 关键是wParam参数,指定ListView的样式
SendMessage(hCtrl, WM_COMMAND, FCIDM_SHVIEW_LARGEICON, 0); // 大图标
}
TForm::WndProc(Msg);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::dlgOpenOnShow(TObject *Sender)
{
// 当打开对话框显示出来时发送自定义消息到窗体
HWND hDlg = GetParent(((TOpenDialog *)Sender)->Handle);
PostMessage(Handle, WM_USER 1, (WPARAM)hDlg, 0);
}
//---------------------------------------------------------------------------
// 测试代码:
void __fastcall TfrmMain::Button1Click(TObject *Sender)
{
// Show出打开对话框
OpenDialog1->Execute();
}




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 用Enter键控制焦点转换的方法

下一篇: 获取信息的有关Windows API