mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-19 16:31:21 +00:00
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
|
#include "../Windows.hpp"
|
||
|
#include "../GUI.hpp"
|
||
|
|
||
|
namespace AddToArchive {
|
||
|
|
||
|
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){
|
||
|
switch (message){
|
||
|
case WM_INITDIALOG: {
|
||
|
CenterDialog(hDlg);
|
||
|
|
||
|
HWND hBox = GetDlgItem(hDlg, IDC_A2A_FILE);
|
||
|
SendMessage(hBox, EM_SETLIMITTEXT, 1023, 0);
|
||
|
hBox = GetDlgItem(hDlg, IDC_A2A_FILENAME);
|
||
|
SendMessage(hBox, EM_SETLIMITTEXT, 1023, 0);
|
||
|
|
||
|
if(lParam){
|
||
|
HWND hBox = GetDlgItem(hDlg, IDC_A2A_FILE);
|
||
|
SetWindowText(hBox, (wchar_t*) lParam);
|
||
|
hBox = GetDlgItem(hDlg, IDC_A2A_FILENAME);
|
||
|
wchar_t Filename[1024];
|
||
|
GetFileTitle((wchar_t*) lParam, Filename, 1024);
|
||
|
SetWindowText(hBox, Filename);
|
||
|
}
|
||
|
|
||
|
} return TRUE;
|
||
|
case WM_COMMAND:
|
||
|
switch(LOWORD(wParam)){
|
||
|
case IDC_A2A_BROWSE: {
|
||
|
wchar_t Path[1024] = L"", Filename[1024] = L"";
|
||
|
ofn.hwndOwner = hDlg;
|
||
|
ofn.lpstrFilter = FILTER_FILES;
|
||
|
ofn.lpstrCustomFilter = ArchiveAddFilter;
|
||
|
ofn.lpstrFile = Path;
|
||
|
ofn.lpstrFileTitle = Filename;
|
||
|
ofn.Flags = OFN_DONTADDTORECENT | OFN_HIDEREADONLY;
|
||
|
if(GetOpenFileName(&ofn)){
|
||
|
SetWindowText(GetDlgItem(hDlg, IDC_A2A_FILE), Path);
|
||
|
SetWindowText(GetDlgItem(hDlg, IDC_A2A_FILENAME), Filename);
|
||
|
}
|
||
|
} break;
|
||
|
case IDOK:
|
||
|
EndDialog(hDlg, true);
|
||
|
break;
|
||
|
case IDCANCEL:
|
||
|
EndDialog(hDlg, false);
|
||
|
} break;
|
||
|
case WM_CLOSE:
|
||
|
EndDialog(hDlg, false);
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
}
|