????? TAB ?????? ?????? ? ?????? ??????? ?? ???? ?????? ??????? ??? ???? ???? ActiveX ?? ?????? ????? ?? ???? ???? ??? ????? ?? ???? propertysheet

?????? ????????? ?????? ?????????
???? ???????: 187988 - ??? ???????? ???? ????? ????? ??? ???????.
????? ???? | ?? ????

?? ??? ??????

???????

????? ???? ???? ???? ActiveX ?????? ????? ?? ???? ???? ??? ????? ?? ???? propertysheet ? ?? ???? ????? TAB ?????? ?????? ? ?????? ??????? ??? ?? ?????. ?? ??????? TAB ??? ????? ??????? ?? ???? ???? ???? ??? ???. ????? ??? ?????? ?????? ?? ?????? ??????? ?? ???? ???? ??? ????? ?? propertysheet ???? ?? ?????.

?????

???? ??????? ?? ???? ???? ???? ActiveX ???? ???????. ???? ????? ????? ?? ??? ??????? ???????. ????? ?? ???????? ?????? ????? ????? ???? ??????? ??? ???????? ??? ??? ??????? ??? ???? ???? ?? propertysheet ???? ???? ??? ?????.

?? ???? ??????? ?? ????/propertysheet ???? ???? ????? ??? ???? ????? ????? ?? ??? ???? ???? ?????? ???? ????? ?????? ???? ??????? ??? ????????.

????

????? ??? WH_GETMESSAGE Windows ??? ????? ?? ????/propertysheet ???? ??? ????? ?????? ????? ????? ???????? ?????? ?????????.

?????

????? ??? ?????? ??? ???????.

??????? ????

???? ????? ?????? ??? ????? Windows ????? ??? ????? ??? ??? ????? CPropertySheet ??? ?????:

??? ?????

   // Handle to the Windows Message hook. It can be a global variable or a
   // member variable in your CPropertySheet-derived class.
   HHOOK hHook = NULL;



   // Hook procedure for WH_GETMESSAGE hook type.
   LRESULT CALLBACK GetMessageProc(int nCode, WPARAM wParam, LPARAM lParam)
   {
      // Switch the module state for the correct handle to be used.
      AFX_MANAGE_STATE(AfxGetStaticModuleState( ));



      // If this is a keystrokes message, translate it in controls'
      // PreTranslateMessage().
      LPMSG lpMsg = (LPMSG) lParam;
      if( (nCode >= 0) &&
         PM_REMOVE == wParam &&
         (lpMsg->message >= WM_KEYFIRST && lpMsg->message <= WM_KEYLAST) &&
         AfxGetApp()->PreTranslateMessage((LPMSG)lParam) )
         {
         // The value returned from this hookproc is ignored, and it cannot
         // be used to tell Windows the message has been handled. To avoid
         // further processing, convert the message to WM_NULL before
         // returning.
         lpMsg->message = WM_NULL;
         lpMsg->lParam = 0L;
         lpMsg->wParam = 0;
         }



      // Passes the hook information to the next hook procedure in
      // the current hook chain.
      return ::CallNextHookEx(hHook, nCode, wParam, lParam);
   }



   // Declare and define the following two functions:
   BOOL CModelessPropertySheet::OnInitDialog()
   {
      CPropertySheet::OnInitDialog();

      // Install the WH_GETMESSAGE hook function.
      hHook = ::SetWindowsHookEx(
         WH_GETMESSAGE,
         GetMessageProc,
         AfxGetInstanceHandle(),
         GetCurrentThreadId());
      ASSERT (hHook);



      return TRUE;   // Return TRUE unless you set the focus to a control.
                     // EXCEPTION: OCX Property Pages should return FALSE.


   }



   void CModelessPropertySheet::OnClose()
   {
      // Uninstall the WH_GETMESSAGE hook function.
      VERIFY (::UnhookWindowsHookEx (hHook));



      CPropertySheet::OnClose();

   }
				

????? ????? ????? ???????

  1. ??? ControlWizard ActiveX MFC ?????? ActiveX ???? ??????. ???? ???? ????????? ??????????.
  2. ??? ???? ???? ???? ??? ????? ???? ?? propertysheet ??? ????? ??????? ??? ???? ???? ??????.
?????: ????? ???? ???? ???? ???? ??? ????? ???? ?? propertysheet ????? ??? ??????? TAB ?? ?????? ??????? ?? ?????.

?????

(?) 1998 ???? Microsoft ? ???? ???? ?????. ????????? ??? Kah Yeong Tam ? Microsoft Corporation.

???????

???? ???????: 187988 - ????? ??? ??????: 30/????/1427 - ??????: 6.1
????? ???
  • Microsoft Foundation Class Library 4.2, ????? ?????? ??:
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft Visual C++ .NET 2002 Standard Edition
    • Microsoft Visual C++ .NET 2003 Standard Edition
????? ??????: 
kbmt kbcode kbctrlcreate kbdlg kbprb KB187988 KbMtar
????? ????
???: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????187988

????? ???????

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com