当前位置: 首页>>代码示例>>C++>>正文


C++ NppParameters::setFileSaveDlgFilterIndex方法代码示例

本文整理汇总了C++中NppParameters::setFileSaveDlgFilterIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ NppParameters::setFileSaveDlgFilterIndex方法的具体用法?C++ NppParameters::setFileSaveDlgFilterIndex怎么用?C++ NppParameters::setFileSaveDlgFilterIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NppParameters的用法示例。


在下文中一共展示了NppParameters::setFileSaveDlgFilterIndex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: run

BOOL APIENTRY FileDialog::run(HWND hWnd, UINT uMsg, WPARAM, LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_NOTIFY :
		{
			LPNMHDR pNmhdr = (LPNMHDR)lParam;
			switch(pNmhdr->code)
			{
                case CDN_INITDONE :
                {
                    if (_extTypeIndex == -1)
                        return TRUE;

                    HWND fnControl = ::GetDlgItem(::GetParent(hWnd), _dialogFileBoxId);
                    HWND typeControl = ::GetDlgItem(::GetParent(hWnd), cmb1);
                    ::SendMessage(typeControl, CB_SETCURSEL, _extTypeIndex, 0);

                    currentExt = addExt(fnControl, typeControl);
                    return TRUE;
                }

				case CDN_TYPECHANGE :
				{
					HWND fnControl = ::GetDlgItem(::GetParent(hWnd), _dialogFileBoxId);
					HWND typeControl = ::GetDlgItem(::GetParent(hWnd), cmb1);
					currentExt = addExt(fnControl, typeControl);
					return TRUE;
				}

				case CDN_FILEOK :
				{
					HWND typeControl = ::GetDlgItem(::GetParent(hWnd), cmb1);
					int index = ::SendMessage(typeControl, CB_GETCURSEL, 0, 0);
					NppParameters *pNppParam = NppParameters::getInstance();
					pNppParam->setFileSaveDlgFilterIndex(index);
					return TRUE;
				}

				default :
					return FALSE;
			}
			
		}
		default :
			return FALSE;
    }
}
开发者ID:desmondpatel,项目名称:notepad-plus-plus,代码行数:48,代码来源:FileDialog.cpp

示例2: run

BOOL APIENTRY FileDialog::run(HWND hWnd, UINT uMsg, WPARAM, LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_NOTIFY :
		{
			LPNMHDR pNmhdr = (LPNMHDR)lParam;
			switch(pNmhdr->code)
			{
                case CDN_INITDONE :
                {
                    if (_extTypeIndex == -1)
                        return TRUE;

                    HWND fnControl = ::GetDlgItem(::GetParent(hWnd), _dialogFileBoxId);
                    HWND typeControl = ::GetDlgItem(::GetParent(hWnd), cmb1);
                    ::SendMessage(typeControl, CB_SETCURSEL, _extTypeIndex, 0);

                    currentExt = addExt(fnControl, typeControl);
                    return TRUE;
                }

				case CDN_TYPECHANGE :
				{
					HWND fnControl = ::GetDlgItem(::GetParent(hWnd), _dialogFileBoxId);
					HWND typeControl = ::GetDlgItem(::GetParent(hWnd), cmb1);
					currentExt = addExt(fnControl, typeControl);
					return TRUE;
				}

				case CDN_FILEOK :
				{
					HWND typeControl = ::GetDlgItem(::GetParent(hWnd), cmb1);
					int index = static_cast<int32_t>(::SendMessage(typeControl, CB_GETCURSEL, 0, 0));
					NppParameters *pNppParam = NppParameters::getInstance();
					pNppParam->setFileSaveDlgFilterIndex(index);

					// change forward-slash to back-slash directory paths so dialog can interpret
					OPENFILENAME* ofn = reinterpret_cast<LPOFNOTIFY>(lParam)->lpOFN;
					TCHAR* fileName = ofn->lpstrFile;

					// note: this check is essential, because otherwise we could return True
					//       with a OFN_NOVALIDATE dialog, which leads to opening every file
					//       in the specified directory. Multi-select terminator is \0\0.
					if ((ofn->Flags & OFN_ALLOWMULTISELECT) &&
						(*(fileName + lstrlen(fileName) + 1) != '\0'))
						return FALSE;

					if (::PathIsDirectory(fileName))
					{
						// change to backslash, and insert trailing '\' to indicate directory
						hFileDlg = ::GetParent(hWnd);
						std::wstring _fnStr(fileName);
						std::replace(_fnStr.begin(), _fnStr.end(), '/', '\\');

						if (_fnStr.back() != '\\')
							_fnStr.insert(_fnStr.end(), '\\');

						// change the dialog directory selection
						::SendMessage(hFileDlg, CDM_SETCONTROLTEXT, edt1,
									reinterpret_cast<LPARAM>(_fnStr.c_str()));
						::PostMessage(hFileDlg, WM_COMMAND, IDOK, 0);
						::SetWindowLongPtr(hWnd, 0 /*DWL_MSGRESULT*/, 1);
					}
					return TRUE;
				}

				default :
					return FALSE;
			}
			
		}
		default :
			return FALSE;
    }
}
开发者ID:Cyrillev91,项目名称:notepad-plus-plus,代码行数:76,代码来源:FileDialog.cpp


注:本文中的NppParameters::setFileSaveDlgFilterIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。