extern char ViewerName[VIEWERS][FMAX_PATH+1];\r
extern int TransMode;\r
extern int SortSave;\r
+// UTF-8対応\r
+extern int LocalKanjiCode;\r
\r
/*===== ローカルなワーク =====*/\r
\r
\r
static int SyncMove = NO;\r
\r
-static int HideUI = NO;\r
+// デッドロック対策\r
+//static int HideUI = NO;\r
+static int HideUI = 0;\r
\r
\r
/* 2007/09/21 sunasunamix ここから *********************/\r
char *Pos;\r
int Tmp2;\r
DWORD NoDrives;\r
+ // 高DPI対応\r
+ HBITMAP hOriginal;\r
+ HBITMAP hResized;\r
\r
/*===== メインのツールバー =====*/\r
\r
+ // 高DPI対応\r
+// hWndTbarMain = CreateToolbarEx(\r
+// hWnd,\r
+// WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_TOP | TBSTYLE_FLAT,\r
+// 1,\r
+// 27,\r
+// hInst,\r
+// main_toolbar_bmp,\r
+// TbarDataMain,\r
+// sizeof(TbarDataMain)/sizeof(TBBUTTON),\r
+// 16,16,\r
+// 16,16,\r
+// sizeof(TBBUTTON));\r
+ hOriginal = LoadImage(hInst, MAKEINTRESOURCE(main_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+ if(hOriginal != NULL)\r
+ {\r
+ hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+ DeleteObject(hOriginal);\r
+ }\r
hWndTbarMain = CreateToolbarEx(\r
hWnd,\r
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_TOP | TBSTYLE_FLAT,\r
1,\r
- 27,\r
- hInst,\r
- main_toolbar_bmp,\r
+ 30,\r
+ NULL,\r
+ (UINT_PTR)hResized,\r
TbarDataMain,\r
sizeof(TbarDataMain)/sizeof(TBBUTTON),\r
- 16,16,\r
- 16,16,\r
+ CalcPixelX(16),CalcPixelY(16),\r
+ CalcPixelX(16),CalcPixelY(16),\r
sizeof(TBBUTTON));\r
+ if(hResized != NULL)\r
+ DeleteObject(hOriginal);\r
+ hResized = NULL;\r
\r
if(hWndTbarMain != NULL)\r
{\r
/********************************************* ここまで */\r
\r
GetClientRect(hWnd, &Rect1);\r
- MoveWindow(hWndTbarMain, 0, 0, Rect1.right, TOOLWIN_HEIGHT, FALSE);\r
+ // 高DPI対応\r
+// MoveWindow(hWndTbarMain, 0, 0, Rect1.right, TOOLWIN_HEIGHT, FALSE);\r
+ MoveWindow(hWndTbarMain, 0, 0, Rect1.right, AskToolWinHeight(), FALSE);\r
}\r
\r
/*===== ローカルのツールバー =====*/\r
\r
+ // 高DPI対応\r
+// hWndTbarLocal = CreateToolbarEx(\r
+// hWnd,\r
+// WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
+// 2,\r
+// 2,\r
+// hInst,\r
+// remote_toolbar_bmp,\r
+// TbarDataLocal,\r
+// sizeof(TbarDataLocal)/sizeof(TBBUTTON),\r
+// 16,16,\r
+// 16,16,\r
+// sizeof(TBBUTTON));\r
+ hOriginal = LoadImage(hInst, MAKEINTRESOURCE(remote_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+ if(hOriginal != NULL)\r
+ {\r
+ hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+ DeleteObject(hOriginal);\r
+ }\r
hWndTbarLocal = CreateToolbarEx(\r
hWnd,\r
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
2,\r
2,\r
- hInst,\r
- remote_toolbar_bmp,\r
+ NULL,\r
+ (UINT_PTR)hResized,\r
TbarDataLocal,\r
sizeof(TbarDataLocal)/sizeof(TBBUTTON),\r
- 16,16,\r
- 16,16,\r
+ CalcPixelX(16),CalcPixelY(16),\r
+ CalcPixelX(16),CalcPixelY(16),\r
sizeof(TBBUTTON));\r
+ if(hResized != NULL)\r
+ DeleteObject(hOriginal);\r
+ hResized = NULL;\r
\r
if(hWndTbarLocal != NULL)\r
{\r
pOldTbarLocalProc = (WNDPROC)SetWindowLongPtr(hWndTbarLocal, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarLocalProc);\r
/********************************************* ここまで */\r
\r
- MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);\r
+ // 高DPI対応\r
+// MoveWindow(hWndTbarLocal, 0, TOOLWIN_HEIGHT, LocalWidth, TOOLWIN_HEIGHT, FALSE);\r
+ MoveWindow(hWndTbarLocal, 0, AskToolWinHeight(), LocalWidth, AskToolWinHeight(), FALSE);\r
\r
/*===== ローカルのディレクトリ名ウインドウ =====*/\r
\r
SendMessage(hWndTbarLocal, TB_GETITEMRECT, 3, (LPARAM)&Rect1);\r
-#ifndef ENGLISH\r
- DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
-#else\r
- DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
-#endif\r
-\r
+ // UTF-8対応\r
+ // 高DPI対応\r
+//#ifndef FFFTP_ENGLISH\r
+// DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+//#else\r
+// DlgFont = CreateFont(Rect1.bottom-Rect1.top-8, 0, 0, 0, 0, FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+//#endif\r
+ DlgFont = CreateFont(Rect1.bottom-Rect1.top-CalcPixelY(8), 0, 0, 0, 0, FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,MSGJPN254);\r
+\r
+ // 高DPI対応\r
+// hWndDirLocal = CreateWindowEx(WS_EX_CLIENTEDGE,\r
+// "COMBOBOX", "",\r
+// WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL,\r
+// Rect1.right, Rect1.top, LocalWidth - Rect1.right, 200,\r
+// hWndTbarLocal, (HMENU)COMBO_LOCAL, hInst, NULL);\r
hWndDirLocal = CreateWindowEx(WS_EX_CLIENTEDGE,\r
"COMBOBOX", "",\r
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL,\r
- Rect1.right, Rect1.top, LocalWidth - Rect1.right, 200,\r
+ Rect1.right, Rect1.top, LocalWidth - Rect1.right, CalcPixelY(200),\r
hWndTbarLocal, (HMENU)COMBO_LOCAL, hInst, NULL);\r
\r
if(hWndDirLocal != NULL)\r
\r
/* ドライブ名をセットしておく */\r
GetLogicalDriveStrings(FMAX_PATH, Tmp);\r
- NoDrives = LoadHideDriveListRegistory();\r
+ NoDrives = LoadHideDriveListRegistry();\r
Pos = Tmp;\r
while(*Pos != NUL)\r
{\r
\r
/*===== ホストのツールバー =====*/\r
\r
+ // 高DPI対応\r
+// hWndTbarRemote = CreateToolbarEx(\r
+// hWnd,\r
+// WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
+// 3,\r
+// 2,\r
+// hInst,\r
+// remote_toolbar_bmp,\r
+// TbarDataRemote,\r
+// sizeof(TbarDataRemote)/sizeof(TBBUTTON),\r
+// 16,16,\r
+// 16,16,\r
+// sizeof(TBBUTTON));\r
+ hOriginal = LoadImage(hInst, MAKEINTRESOURCE(remote_toolbar_bmp), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS);\r
+ if(hOriginal != NULL)\r
+ {\r
+ hResized = ResizeBitmap(hOriginal, 64, 64, 16, 64);\r
+ DeleteObject(hOriginal);\r
+ }\r
hWndTbarRemote = CreateToolbarEx(\r
hWnd,\r
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | CCS_NORESIZE | TBSTYLE_FLAT,\r
3,\r
2,\r
- hInst,\r
- remote_toolbar_bmp,\r
+ NULL,\r
+ (UINT_PTR)hResized,\r
TbarDataRemote,\r
sizeof(TbarDataRemote)/sizeof(TBBUTTON),\r
- 16,16,\r
- 16,16,\r
+ CalcPixelX(16),CalcPixelY(16),\r
+ CalcPixelX(16),CalcPixelY(16),\r
sizeof(TBBUTTON));\r
+ if(hResized != NULL)\r
+ DeleteObject(hOriginal);\r
+ hResized = NULL;\r
\r
if(hWndTbarRemote != NULL)\r
{\r
pOldTbarRemoteProc = (WNDPROC)SetWindowLongPtr(hWndTbarRemote, GWLP_WNDPROC, (LONG_PTR)CountermeasureTbarRemoteProc);\r
/********************************************* ここまで */\r
\r
- MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);\r
+ // 高DPI対応\r
+// MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, TOOLWIN_HEIGHT, RemoteWidth, TOOLWIN_HEIGHT, FALSE);\r
+ MoveWindow(hWndTbarRemote, LocalWidth + SepaWidth, AskToolWinHeight(), RemoteWidth, AskToolWinHeight(), FALSE);\r
\r
/*===== ホストのディレクトリ名ウインドウ =====*/\r
\r
SendMessage(hWndTbarRemote, TB_GETITEMRECT, 3, (LPARAM)&Rect1);\r
+ // 高DPI対応\r
+// hWndDirRemote = CreateWindowEx(WS_EX_CLIENTEDGE,\r
+// "COMBOBOX", "",\r
+// WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL,\r
+// Rect1.right, Rect1.top, RemoteWidth - Rect1.right, 200,\r
+// hWndTbarRemote, (HMENU)COMBO_REMOTE, hInst, NULL);\r
hWndDirRemote = CreateWindowEx(WS_EX_CLIENTEDGE,\r
"COMBOBOX", "",\r
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | CBS_DROPDOWN | CBS_AUTOHSCROLL,\r
- Rect1.right, Rect1.top, RemoteWidth - Rect1.right, 200,\r
+ Rect1.right, Rect1.top, RemoteWidth - Rect1.right, CalcPixelY(200),\r
hWndTbarRemote, (HMENU)COMBO_REMOTE, hInst, NULL);\r
\r
if(hWndDirRemote != NULL)\r
\r
int GetHideUI(void)\r
{\r
- return(HideUI);\r
+ // デッドロック対策\r
+// return(HideUI);\r
+ return (HideUI > 0 ? YES : NO);\r
}\r
\r
\r
int Count;\r
int Win;\r
\r
- if(HideUI == NO)\r
+ // デッドロック対策\r
+// if(HideUI == NO)\r
+ if(HideUI == 0)\r
{\r
hWndMain = GetMainHwnd();\r
hWndFocus = GetFocus();\r
{\r
int i;\r
\r
- HideUI = YES;\r
+ // デッドロック対策\r
+// HideUI = YES;\r
+ HideUI++;\r
\r
for(i = 0; i < sizeof(HideMenus) / sizeof(int); i++)\r
{\r
EnableWindow(hWndDirLocal, FALSE);\r
EnableWindow(hWndDirRemote, FALSE);\r
\r
+ // 特定の操作を行うと異常終了するバグ修正\r
+ EnableWindow(GetLocalHwnd(), FALSE);\r
+ EnableWindow(GetRemoteHwnd(), FALSE);\r
+\r
return;\r
}\r
\r
{\r
int i;\r
\r
- if(HideUI == YES)\r
+ // デッドロック対策\r
+// if(HideUI == YES)\r
+ if(HideUI > 0)\r
+ HideUI--;\r
+ if(HideUI == 0)\r
{\r
for(i = 0; i < sizeof(HideMenus) / sizeof(int); i++)\r
{\r
EnableWindow(hWndDirLocal, TRUE);\r
EnableWindow(hWndDirRemote, TRUE);\r
\r
+ // 特定の操作を行うと異常終了するバグ修正\r
+ EnableWindow(GetLocalHwnd(), TRUE);\r
+ EnableWindow(GetRemoteHwnd(), TRUE);\r
+\r
// 選択不可な漢字コードのボタンが表示されるバグを修正\r
HideHostKanjiButton();\r
HideLocalKanjiButton();\r
\r
- HideUI = NO;\r
+ // バグ修正\r
+// HideUI = NO;\r
\r
MakeButtonsFocus();\r
}\r
\r
int AskUserOpeDisabled(void)\r
{\r
- return(HideUI);\r
+ // デッドロック対策\r
+// return(HideUI);\r
+ return (HideUI > 0 ? YES : NO);\r
}\r
\r
\r
return;\r
}\r
\r
+void SaveLocalKanjiCode(void)\r
+{\r
+ LocalKanjiCode = TmpLocalKanjiCode;\r
+ return;\r
+}\r
+\r
\r
/*===================================================\r
* 半角変換モード\r
UINT Flg3;\r
int Count;\r
\r
- if(HideUI == NO)\r
+ // デッドロック対策\r
+// if(HideUI == NO)\r
+ if(HideUI == 0)\r
{\r
Flg1 = 0;\r
if(AskConnecting() == NO)\r
UINT Flg3;\r
int Count;\r
\r
- if(HideUI == NO)\r
+ // デッドロック対策\r
+// if(HideUI == NO)\r
+ if(HideUI == 0)\r
{\r
Flg1 = 0;\r
if(AskConnecting() == NO)\r
if (AskRealHostType() == HTYPE_TANDEM)\r
AppendMenu(hMenu, MF_STRING | Flg1, MENU_SWITCH_OSS, MSGJPN2001);\r
#endif\r
+ // 上位のディレクトリへ移動対応\r
+ AppendMenu(hMenu, MF_STRING | Flg1 | Flg2, MENU_REMOTE_MOVE_UPDIR, MSGJPN355);\r
AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);\r
AppendMenu(hMenu, MF_STRING | Flg1, MENU_FILESIZE, MSGJPN272);\r
AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);\r
char Tmp[FMAX_PATH+1];\r
int i;\r
\r
- AppendMenu(hMenu, MF_STRING | Flg, MENU_DCLICK, MSGJPN274);\r
+ // ローカルフォルダを開く\r
+// AppendMenu(hMenu, MF_STRING | Flg, MENU_DCLICK, MSGJPN274);\r
+ AppendMenu(hMenu, MF_STRING | Flg, MENU_OPEN, MSGJPN274);\r
for(i = 0; i < VIEWERS; i++)\r
{\r
if(strlen(ViewerName[i]) != 0)\r