add OFN_NOCHANGEDIR flag to OPENFILENAME::Flags in nana::filebox::show

http://blogs.msdn.com/b/oldnewthing/archive/2010/11/12/10089878.aspx
	setting OFN_NOCHANGEDIR flag to OPENFILENAME::Flags is effective for GetOpenFileName API on Windows7.
add const qualifier to nana::paint::graphics::save_as_file
add support for small icon on Windows.
	The system displays the large icon in the ALT+TAB dialog box, and the small icon in the window caption.
	https://msdn.microsoft.com/en-us/library/windows/desktop/ms632643%28v=vs.85%29.aspx
This commit is contained in:
beru
2015-05-16 21:10:20 +09:00
parent 2da65827a0
commit 990de7867b
14 changed files with 114 additions and 10 deletions

View File

@@ -537,6 +537,30 @@ namespace nana{
return false;
}
bool native_interface::window_icon(native_window_type wd, const paint::image& big_icon, const paint::image& small_icon)
{
#if defined(NANA_WINDOWS)
HICON h_big_icon = paint::image_accessor::icon(big_icon);
HICON h_small_icon = paint::image_accessor::icon(small_icon);
if (h_big_icon || h_small_icon)
{
nana::detail::platform_spec::instance().keep_window_icon(wd, (!big_icon.empty() ? big_icon : small_icon));
if (h_big_icon) {
::SendMessage(reinterpret_cast<HWND>(wd), WM_SETICON, ICON_BIG, reinterpret_cast<LPARAM>(h_big_icon));
}
if (h_small_icon) {
::SendMessage(reinterpret_cast<HWND>(wd), WM_SETICON, ICON_SMALL, reinterpret_cast<WPARAM>(h_small_icon));
}
return true;
}
#elif defined(NANA_X11)
return window_icon(wd, big_icon);
#endif
return false;
}
void native_interface::activate_owner(native_window_type wd)
{
#if defined(NANA_WINDOWS)