diff --git a/PowerEditor/installer/nativeLang/english.xml b/PowerEditor/installer/nativeLang/english.xml index 687e95840..63954cb34 100644 --- a/PowerEditor/installer/nativeLang/english.xml +++ b/PowerEditor/installer/nativeLang/english.xml @@ -5,7 +5,7 @@ Translation note: 2. All the comments are for explanation, they are not for translation. --> - +
@@ -1324,7 +1324,14 @@ Translation note: + + + + + + + @@ -1333,7 +1340,6 @@ Translation note: - @@ -1833,6 +1839,7 @@ C, C++, Java, C#, Objective-C, PHP, JavaScript, JSP, CSS, Perl, Rust, PowerShell If you select advanced mode but do not edit files in the aforementioned languages, the indentation will remain in basic mode."/> + diff --git a/PowerEditor/installer/nativeLang/english_customizable.xml b/PowerEditor/installer/nativeLang/english_customizable.xml index 9998e4566..ee20afb43 100644 --- a/PowerEditor/installer/nativeLang/english_customizable.xml +++ b/PowerEditor/installer/nativeLang/english_customizable.xml @@ -5,7 +5,7 @@ Translation note: 2. All the comments are for explanation, they are not for translation. --> - +
@@ -1324,7 +1324,14 @@ Translation note: + + + + + + + @@ -1333,7 +1340,6 @@ Translation note: - @@ -1833,6 +1839,7 @@ C, C++, Java, C#, Objective-C, PHP, JavaScript, JSP, CSS, Perl, Rust, PowerShell If you select advanced mode but do not edit files in the aforementioned languages, the indentation will remain in basic mode."/> + diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp index a45ec8a3c..8aae667a2 100644 --- a/PowerEditor/src/Parameters.cpp +++ b/PowerEditor/src/Parameters.cpp @@ -6214,7 +6214,22 @@ void NppParameters::feedGUIParameters(TiXmlNode *node) const wchar_t * optNameWriteTechnologyEngine = element->Attribute(L"writeTechnologyEngine"); if (optNameWriteTechnologyEngine) - _nppGUI._writeTechnologyEngine = (lstrcmp(optNameWriteTechnologyEngine, L"1") == 0) ? directWriteTechnology : defaultTechnology; + { + if (lstrcmp(optNameWriteTechnologyEngine, L"0") == 0) + _nppGUI._writeTechnologyEngine = defaultTechnology; + else if (lstrcmp(optNameWriteTechnologyEngine, L"1") == 0) + _nppGUI._writeTechnologyEngine = directWriteTechnology; + else if (lstrcmp(optNameWriteTechnologyEngine, L"2") == 0) + _nppGUI._writeTechnologyEngine = directWriteRetainTechnology; + else if (lstrcmp(optNameWriteTechnologyEngine, L"3") == 0) + _nppGUI._writeTechnologyEngine = directWriteDcTechnology; + else if (lstrcmp(optNameWriteTechnologyEngine, L"4") == 0) + _nppGUI._writeTechnologyEngine = directWriteDX11Technology; + else if (lstrcmp(optNameWriteTechnologyEngine, L"5") == 0) + _nppGUI._writeTechnologyEngine = directWriteTechnologyUnavailable; + //else + // retain default value preset + } const wchar_t * optNameFolderDroppedOpenFiles = element->Attribute(L"isFolderDroppedOpenFiles"); if (optNameFolderDroppedOpenFiles) diff --git a/PowerEditor/src/Parameters.h b/PowerEditor/src/Parameters.h index 1cef400a9..9fb8a3f2b 100644 --- a/PowerEditor/src/Parameters.h +++ b/PowerEditor/src/Parameters.h @@ -117,7 +117,8 @@ enum ChangeDetect { cdDisabled = 0x0, cdEnabledOld = 0x01, cdEnabledNew = 0x02, enum BackupFeature {bak_none = 0, bak_simple = 1, bak_verbose = 2}; enum OpenSaveDirSetting {dir_followCurrent = 0, dir_last = 1, dir_userDef = 2}; enum MultiInstSetting {monoInst = 0, multiInstOnSession = 1, multiInst = 2}; -enum writeTechnologyEngine {defaultTechnology = 0, directWriteTechnology = 1, directWriteTechnologyUnavailable = 2}; +enum writeTechnologyEngine { defaultTechnology = 0, directWriteTechnology = 1, directWriteRetainTechnology = 2, + directWriteDcTechnology = 3, directWriteDX11Technology = 4, directWriteTechnologyUnavailable = 5 }; enum urlMode {urlDisable = 0, urlNoUnderLineFg, urlUnderLineFg, urlNoUnderLineBg, urlUnderLineBg, urlMin = urlDisable, urlMax = urlUnderLineBg}; diff --git a/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp b/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp index 5fd992002..da880cbbb 100644 --- a/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp +++ b/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp @@ -327,14 +327,14 @@ void ScintillaEditView::init(HINSTANCE hInst, HWND hPere) } else { - // allow IDC_CHECK_DIRECTWRITE_ENABLE to be set in Preferences > MISC. again + // allow IDC_COMBO_SC_TECHNOLOGY_CHOICE to be set in Preferences > MISC. again if (nppGui._writeTechnologyEngine == directWriteTechnologyUnavailable) nppGui._writeTechnologyEngine = defaultTechnology; } - if (nppGui._writeTechnologyEngine == directWriteTechnology) + if ((nppGui._writeTechnologyEngine > defaultTechnology) && (nppGui._writeTechnologyEngine < directWriteTechnologyUnavailable)) { - execute(SCI_SETTECHNOLOGY, SC_TECHNOLOGY_DIRECTWRITE); + execute(SCI_SETTECHNOLOGY, nppGui._writeTechnologyEngine); // If useDirectWrite is turned off, leave the technology setting untouched, // so that existing plugins using SCI_SETTECHNOLOGY behave like before } @@ -4412,7 +4412,8 @@ void ScintillaEditView::changeTextDirection(bool isRTL) return; NppParameters& nppParamInst = NppParameters::getInstance(); - if (isRTL && nppParamInst.getNppGUI()._writeTechnologyEngine == directWriteTechnology) // RTL is not compatible with Direct Write Technology + if (isRTL && (nppParamInst.getNppGUI()._writeTechnologyEngine > defaultTechnology) + && (nppParamInst.getNppGUI()._writeTechnologyEngine < directWriteTechnologyUnavailable)) // RTL is not compatible with DirectWrite { static bool theWarningIsGiven = false; diff --git a/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp b/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp index 13e816668..e79a49913 100644 --- a/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp +++ b/PowerEditor/src/WinControls/AboutDlg/AboutDlg.cpp @@ -235,9 +235,31 @@ intptr_t CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM _debugInfoStr += nppGui._keepSessionAbsentFileEntries ? L"ON" : L"OFF"; _debugInfoStr += L"\r\n"; - // DirectWrite - _debugInfoStr += L"DirectWrite : "; - _debugInfoStr += (nppGui._writeTechnologyEngine == directWriteTechnology) ? L"ON" : L"OFF"; + // SC_TECHNOLOGY + _debugInfoStr += L"Scintilla Rendering Mode : "; + switch (nppGui._writeTechnologyEngine) + { + case defaultTechnology: + _debugInfoStr += L"SC_TECHNOLOGY_DEFAULT (0)"; + break; + case directWriteTechnology: + _debugInfoStr += L"SC_TECHNOLOGY_DIRECTWRITE (1)"; + break; + case directWriteRetainTechnology: + _debugInfoStr += L"SC_TECHNOLOGY_DIRECTWRITERETAIN (2)"; + break; + case directWriteDcTechnology: + _debugInfoStr += L"SC_TECHNOLOGY_DIRECTWRITEDC (3)"; + break; + case directWriteDX11Technology: + _debugInfoStr += L"SC_TECHNOLOGY_DIRECT_WRITE_1 (4)"; + break; + case directWriteTechnologyUnavailable: + _debugInfoStr += L"DirectWrite Technology Unavailable (5, same as SC_TECHNOLOGY_DEFAULT)"; + break; + default: + _debugInfoStr += L"unknown (" + std::to_wstring(nppGui._writeTechnologyEngine) + L")"; + } _debugInfoStr += L"\r\n"; // Multi-instance diff --git a/PowerEditor/src/WinControls/Preference/preference.rc b/PowerEditor/src/WinControls/Preference/preference.rc index f282cfd60..8fbda6281 100644 --- a/PowerEditor/src/WinControls/Preference/preference.rc +++ b/PowerEditor/src/WinControls/Preference/preference.rc @@ -596,17 +596,18 @@ BEGIN CONTROL "Peek on tab",IDC_CHECK_ENABLEDOCPEEKER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,269,58,140,10 CONTROL "Peek on document map",IDC_CHECK_ENABLEDOCPEEKONMAP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,269,71,140,10 - COMBOBOX IDC_COMBO_SYSTRAY_ACTION_HOICE,37,77,94,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "system tray",IDC_SYSTRAY_STATIC,137,78,88,8 + COMBOBOX IDC_COMBO_SYSTRAY_ACTION_CHOICE,37,76,115,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "system tray",IDC_SYSTRAY_STATIC,157,78,88,8 + + COMBOBOX IDC_COMBO_SC_TECHNOLOGY_CHOICE,37,96,115,100,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "rendering mode",IDC_SC_TECHNOLOGY_STATIC,157,97,88,8 // "Enable Notepad++ auto-updater" should be always the 1st item, because it'll be hidden if GUP.exe is absent - CONTROL "Enable Notepad++ auto-updater",IDC_CHECK_AUTOUPDATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,109,210,10 - CONTROL "Mute all sounds",IDC_CHECK_MUTE_SOUNDS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,37,124,190,10 - CONTROL "Autodetect character encoding",IDC_CHECK_DETECTENCODING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,139,217,10 - CONTROL "Show only filename in title bar",IDC_CHECK_SHORTTITLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,154,217,10 - CONTROL "Use DirectWrite (May improve rendering special characters, need to restart Notepad++)",IDC_CHECK_DIRECTWRITE_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,169,377,10 - CONTROL "Enable Save All confirm dialog",IDC_CHECK_SAVEALLCONFIRM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,184,217,10 - + CONTROL "Enable Notepad++ auto-updater",IDC_CHECK_AUTOUPDATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,118,210,10 + CONTROL "Mute all sounds",IDC_CHECK_MUTE_SOUNDS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,37,133,190,10 + CONTROL "Autodetect character encoding",IDC_CHECK_DETECTENCODING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,148,217,10 + CONTROL "Show only filename in title bar",IDC_CHECK_SHORTTITLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,163,217,10 + CONTROL "Enable Save All confirm dialog",IDC_CHECK_SAVEALLCONFIRM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,178,217,10 RTEXT "Session file ext.:",IDC_SESSIONFILEEXT_STATIC,270,130,108,8 EDITTEXT IDC_EDIT_SESSIONFILEEXT,380,127,34,12,ES_AUTOHSCROLL diff --git a/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp b/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp index bbb74a308..13409f709 100644 --- a/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp +++ b/PowerEditor/src/WinControls/Preference/preferenceDlg.cpp @@ -267,6 +267,9 @@ intptr_t CALLBACK PreferenceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM if (_indentationSubDlg._tipAutoIndentAdvanced) NppDarkMode::setDarkTooltips(_indentationSubDlg._tipAutoIndentAdvanced, NppDarkMode::ToolTipsType::tooltip); + if (_miscSubDlg._tipScintillaRenderingTechnology) + NppDarkMode::setDarkTooltips(_miscSubDlg._tipScintillaRenderingTechnology, NppDarkMode::ToolTipsType::tooltip); + // groupbox label in dark mode support disabled text color if (NppDarkMode::isEnabled()) { @@ -2474,21 +2477,46 @@ intptr_t CALLBACK MiscSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM) bCheck = (nppGUI._fileAutoDetection & cdGo2end) ? true : false; ::SendDlgItemMessage(_hSelf, IDC_CHECK_UPDATEGOTOEOF, BM_SETCHECK, bCheck ? BST_CHECKED : BST_UNCHECKED, 0); - ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_HOICE, CB_ADDSTRING, 0, reinterpret_cast(L"No action on")); - ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_HOICE, CB_ADDSTRING, 0, reinterpret_cast(L"Minimize to")); - ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_HOICE, CB_ADDSTRING, 0, reinterpret_cast(L"Close to")); - ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_HOICE, CB_ADDSTRING, 0, reinterpret_cast(L"Minimize / Close to")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"No action on")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"Minimize to")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"Close to")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"Minimize / Close to")); if (nppGUI._isMinimizedToTray < 0 || nppGUI._isMinimizedToTray > sta_minimize_close) nppGUI._isMinimizedToTray = sta_none; - ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_HOICE, CB_SETCURSEL, nppGUI._isMinimizedToTray, 0); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_CHOICE, CB_SETCURSEL, nppGUI._isMinimizedToTray, 0); + + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"GDI (most compatible)")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"DirectWrite (default)")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"DirectWrite (retain frames)")); + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"DirectWrite (draw to GDI DC)")); + //::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_ADDSTRING, 0, reinterpret_cast(L"DirectWrite (DirectX 11)")); + + if ((nppGUI._writeTechnologyEngine < 0) || (nppGUI._writeTechnologyEngine > directWriteTechnologyUnavailable)) + nppGUI._writeTechnologyEngine = directWriteTechnology; + + if (nppGUI._writeTechnologyEngine != directWriteTechnologyUnavailable) + { + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_SETCURSEL, nppGUI._writeTechnologyEngine, 0); + } + else + { + ::SendDlgItemMessage(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_SETCURSEL, defaultTechnology, 0); + ::EnableWindow(::GetDlgItem(_hSelf, IDC_COMBO_SC_TECHNOLOGY_CHOICE), false); + } + + NativeLangSpeaker* pNativeSpeaker = nppParam.getNativeLangSpeaker(); + wstring tipScintillaRenderingTechnology2Show = pNativeSpeaker->getLocalizedStrFromID("scintillaRenderingTechnology-tip", + L"May improve rendering of special characters or resolve some graphics issues, restart Notepad++ to apply the changes."); + _tipScintillaRenderingTechnology = CreateToolTip(IDC_COMBO_SC_TECHNOLOGY_CHOICE, _hSelf, _hInst, + const_cast(tipScintillaRenderingTechnology2Show.c_str()), pNativeSpeaker->isRTL()); + if (_tipScintillaRenderingTechnology) + ::SendMessage(_tipScintillaRenderingTechnology, TTM_SETDELAYTIME, TTDT_AUTOPOP, MAKELPARAM((20000), (0))); // stay 20 secs ::SendDlgItemMessage(_hSelf, IDC_CHECK_DETECTENCODING, BM_SETCHECK, nppGUI._detectEncoding, 0); ::SendDlgItemMessage(_hSelf, IDC_CHECK_SAVEALLCONFIRM, BM_SETCHECK, nppGUI._saveAllConfirm, 0); ::SendDlgItemMessage(_hSelf, IDC_CHECK_AUTOUPDATE, BM_SETCHECK, nppGUI._autoUpdateOpt._doAutoUpdate, 0); - ::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_DIRECTWRITE_ENABLE), nppGUI._writeTechnologyEngine != directWriteTechnologyUnavailable); - ::SendDlgItemMessage(_hSelf, IDC_CHECK_DIRECTWRITE_ENABLE, BM_SETCHECK, nppGUI._writeTechnologyEngine == directWriteTechnology, 0); ::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLEDOCPEEKER, BM_SETCHECK, nppGUI._isDocPeekOnTab ? BST_CHECKED : BST_UNCHECKED, 0); ::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLEDOCPEEKONMAP, BM_SETCHECK, nppGUI._isDocPeekOnMap ? BST_CHECKED : BST_UNCHECKED, 0); ::SendDlgItemMessage(_hSelf, IDC_CHECK_MUTE_SOUNDS, BM_SETCHECK, nppGUI._muteSounds ? BST_CHECKED : BST_UNCHECKED, 0); @@ -2619,12 +2647,6 @@ intptr_t CALLBACK MiscSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM) return TRUE; } - case IDC_CHECK_DIRECTWRITE_ENABLE: - { - nppGUI._writeTechnologyEngine = isCheckedOrNot(IDC_CHECK_DIRECTWRITE_ENABLE) ? directWriteTechnology : defaultTechnology; - return TRUE; - } - case IDC_CHECK_ENABLEDOCPEEKER: { nppGUI._isDocPeekOnTab = isCheckedOrNot(IDC_CHECK_ENABLEDOCPEEKER); @@ -2690,10 +2712,16 @@ intptr_t CALLBACK MiscSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM) return TRUE; } - else if (LOWORD(wParam) == IDC_COMBO_SYSTRAY_ACTION_HOICE) + else if (LOWORD(wParam) == IDC_COMBO_SYSTRAY_ACTION_CHOICE) { - int index = static_cast(::SendDlgItemMessage(_hSelf, IDC_COMBO_SYSTRAY_ACTION_HOICE, CB_GETCURSEL, 0, 0)); - nppGUI._isMinimizedToTray = index; + nppGUI._isMinimizedToTray = static_cast(::SendDlgItemMessage(_hSelf, + IDC_COMBO_SYSTRAY_ACTION_CHOICE, CB_GETCURSEL, 0, 0)); + } + + else if (LOWORD(wParam) == IDC_COMBO_SC_TECHNOLOGY_CHOICE) + { + nppGUI._writeTechnologyEngine = static_cast(::SendDlgItemMessage(_hSelf, + IDC_COMBO_SC_TECHNOLOGY_CHOICE, CB_GETCURSEL, 0, 0)); } } } diff --git a/PowerEditor/src/WinControls/Preference/preferenceDlg.h b/PowerEditor/src/WinControls/Preference/preferenceDlg.h index 38e5d03ad..777984d5c 100644 --- a/PowerEditor/src/WinControls/Preference/preferenceDlg.h +++ b/PowerEditor/src/WinControls/Preference/preferenceDlg.h @@ -25,11 +25,20 @@ class MiscSubDlg : public StaticDialog { +friend class PreferenceDlg; public : MiscSubDlg() = default; + ~MiscSubDlg() { + if (_tipScintillaRenderingTechnology) + { + ::DestroyWindow(_tipScintillaRenderingTechnology); + _tipScintillaRenderingTechnology = nullptr; + } + }; private : intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) override; + HWND _tipScintillaRenderingTechnology = nullptr; }; class GeneralSubDlg : public StaticDialog diff --git a/PowerEditor/src/WinControls/Preference/preference_rc.h b/PowerEditor/src/WinControls/Preference/preference_rc.h index c1ba8d7d3..28a7687f3 100644 --- a/PowerEditor/src/WinControls/Preference/preference_rc.h +++ b/PowerEditor/src/WinControls/Preference/preference_rc.h @@ -215,7 +215,7 @@ #define IDC_HISTORY_GB_STATIC (IDD_PREFERENCE_SUB_MISC + 4) #define IDC_CHECK_DONTCHECKHISTORY (IDD_PREFERENCE_SUB_MISC + 5) #define IDC_MAXNBFILE_STATIC (IDD_PREFERENCE_SUB_MISC + 6) - #define IDC_COMBO_SYSTRAY_ACTION_HOICE (IDD_PREFERENCE_SUB_MISC + 7) + #define IDC_COMBO_SYSTRAY_ACTION_CHOICE (IDD_PREFERENCE_SUB_MISC + 7) #define IDC_SYSTRAY_STATIC (IDD_PREFERENCE_SUB_MISC + 8) #define IDC_CHECK_REMEMBERSESSION (IDD_PREFERENCE_SUB_MISC + 9) #define IDC_INDENTUSING_STATIC (IDD_PREFERENCE_SUB_MISC + 10) @@ -267,6 +267,9 @@ #define IDC_CHECK_MUTE_SOUNDS (IDD_PREFERENCE_SUB_MISC + 60) #define IDC_CHECK_SAVEALLCONFIRM (IDD_PREFERENCE_SUB_MISC + 61) + #define IDC_COMBO_SC_TECHNOLOGY_CHOICE (IDD_PREFERENCE_SUB_MISC + 62) + #define IDC_SC_TECHNOLOGY_STATIC (IDD_PREFERENCE_SUB_MISC + 63) + #define IDD_PREFERENCE_SUB_NEWDOCUMENT 6400 //(IDD_PREFERENCE_BOX + 400) #define IDC_FORMAT_GB_STATIC (IDD_PREFERENCE_SUB_NEWDOCUMENT + 1) #define IDC_RADIO_F_WIN (IDD_PREFERENCE_SUB_NEWDOCUMENT + 2)