@@ -1172,6 +1172,7 @@ class MMainWnd : public MWindowBase
1172
1172
LRESULT OnClearStatus (HWND hwnd, WPARAM wParam, LPARAM lParam);
1173
1173
LRESULT OnReopenRad (HWND hwnd, WPARAM wParam, LPARAM lParam);
1174
1174
LRESULT OnPostSearch (HWND hwnd, WPARAM wParam, LPARAM lParam);
1175
+ LRESULT OnIDJumpBang (HWND hwnd, WPARAM wParam, LPARAM lParam);
1175
1176
1176
1177
void OnUpdateID (HWND hwnd)
1177
1178
{
@@ -6680,6 +6681,7 @@ MMainWnd::WindowProcDx(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
6680
6681
DO_MESSAGE (MYWM_COMPILECHECK, OnCompileCheck);
6681
6682
DO_MESSAGE (MYWM_REOPENRAD, OnReopenRad);
6682
6683
DO_MESSAGE (MYWM_POSTSEARCH, OnPostSearch);
6684
+ DO_MESSAGE (MYWM_IDJUMPBANG, OnIDJumpBang);
6683
6685
default :
6684
6686
if (uMsg == s_uFindMsg)
6685
6687
{
@@ -6689,6 +6691,80 @@ MMainWnd::WindowProcDx(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
6689
6691
}
6690
6692
}
6691
6693
6694
+ LRESULT MMainWnd::OnIDJumpBang (HWND hwnd, WPARAM wParam, LPARAM lParam)
6695
+ {
6696
+ int nIDTYPE_ = (int )wParam;
6697
+ int nID = (int )lParam;
6698
+
6699
+ MIdOrString type, name = (WORD)nID;
6700
+ switch (nIDTYPE_)
6701
+ {
6702
+ case IDTYPE_CURSOR:
6703
+ type = RT_GROUP_CURSOR;
6704
+ break ;
6705
+ case IDTYPE_BITMAP:
6706
+ type = RT_BITMAP;
6707
+ break ;
6708
+ case IDTYPE_MENU:
6709
+ type = RT_MENU;
6710
+ break ;
6711
+ case IDTYPE_DIALOG:
6712
+ type = RT_DIALOG;
6713
+ break ;
6714
+ case IDTYPE_STRING:
6715
+ type = RT_STRING;
6716
+ name.clear ();
6717
+ break ;
6718
+ case IDTYPE_ACCEL:
6719
+ type = RT_ACCELERATOR;
6720
+ break ;
6721
+ case IDTYPE_ICON:
6722
+ type = RT_GROUP_ICON;
6723
+ break ;
6724
+ case IDTYPE_ANICURSOR:
6725
+ type = RT_ANICURSOR;
6726
+ break ;
6727
+ case IDTYPE_ANIICON:
6728
+ type = RT_ANIICON;
6729
+ break ;
6730
+ case IDTYPE_HTML:
6731
+ type = RT_HTML;
6732
+ break ;
6733
+ case IDTYPE_HELP:
6734
+ return 0 ;
6735
+ case IDTYPE_COMMAND:
6736
+ return 0 ;
6737
+ case IDTYPE_CONTROL:
6738
+ return 0 ;
6739
+ case IDTYPE_RESOURCE:
6740
+ break ;
6741
+ case IDTYPE_MESSAGE:
6742
+ type = RT_MESSAGETABLE;
6743
+ name.clear ();
6744
+ break ;
6745
+ case IDTYPE_INVALID:
6746
+ return 0 ;
6747
+ }
6748
+
6749
+ ResEntry entry;
6750
+ entry.type = type;
6751
+ entry.name = name;
6752
+ entry.lang = 0xFFFF ;
6753
+ INT iFound = Res_Find2 (m_entries, entry, FALSE );
6754
+
6755
+ if (iFound < 0 || iFound >= INT (m_entries.size ()))
6756
+ return 0 ;
6757
+
6758
+ entry = m_entries[iFound];
6759
+ TV_SelectEntry (m_hTreeView, m_entries, entry);
6760
+
6761
+ SetForegroundWindow (m_hwnd);
6762
+ BringWindowToTop (m_hwnd);
6763
+ SetFocus (m_hwnd);
6764
+
6765
+ return 0 ;
6766
+ }
6767
+
6692
6768
LRESULT MMainWnd::OnPostSearch (HWND hwnd, WPARAM wParam, LPARAM lParam)
6693
6769
{
6694
6770
m_fr.Flags = FR_DOWN;
0 commit comments