Kaip sukurti pop-up kontekstinė pagalba naudojant Windows API WinHelp ()

Išplėstinis: reikalingas ekspertų kodavimas, sąveikumas ir kelių vartotojų įgūdžiai.

Šiame straipsnyje Microsoft Access 97 versija, ieškokite 141621.

Suvestinė

Viena iš alternatyvų atskirame lange rodant jūsų programos internetinės žinyno sistemą yra Rodyti ją mažame, tamsesniame programos lange. Norėdami tai padaryti, galite naudoti Windows API WinHelp () funkciją su savo HELP_CONTEXTPOPUP argumentas. Šiame straipsnyje parodoma, kaip įdiegti tokią žinyno sistemą. Šiame straipsnyje reiškia, kad esate susipažinę su naudojant Microsoft Windows žinyno seminaras sukurti Windows žinyno failus.

Daugiau informacijos

Windows API WinHelp () funkcija palaiko daug parinkčių. Parinktis HELP_CONTEXTPOPUP atidaro šešėliuotą iškylantįjį langą, kuriame galite Rodyti žinyną. Šis langas panašus į langą, kuris atsidaro, kai spustelite žodynų įrašą (žalią, pabrauktą) Microsoft Access žinyno sistemoje. Norėdami įdiegti šią funkciją, atlikite šiuos veiksmus:

  • Sukurti darbo žinyno sistemą, nustatant Helpcontextid ir Helpfile ypatybes savo formas į galiojantį Windows žinyno failą.

  • Peradresuoti klavišą F1 paskambinti vartotojo apibrėžiam funkcija, kuri atidaro žinyno failą naudodami parinktį HELP_CONTEXTPOPUP.

Atkreipkite dėmesį, kad iššokančiojo žinyno lango šuoliai ar šakojimas kitoms Žinyno temoms nepalaikomas šiame straipsnyje aptartus metodus. Toliau aprašyti veiksmai, kaip sukurti vartotojo apibrėžiantį funkciją, kad atidarytumėte iššokančiojo Žinyno langą ir kaip peradresuoti F1 raktą: įspėjimas: Jei atlikdami šiame pavyzdyje nurodytus veiksmus, galite modifikuoti duomenų bazės Northwind. mdb. Galite sukurti atsargines kopijas Northwind. mdb failą ir atlikite šiuos veiksmus duomenų bazės kopiją.

Prieiga 2000, Access 2002 ir Access 2003

  1. Paleisti Microsoft Access

  2. Atidaryti duomenų bazės Northwind. mdb arba imties projekto northwindcs. adp.

  3. Duomenų bazės lange, po objektųskyriuje, spustelėkite moduliai.

  4. Spustelėkite naujas.

  5. Visual Basic rengyklę, įveskite arba įklijuokite šį kodą į deklaracijos skyrius:

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    Pastaba: jūs galite turėti kai kurias Microsoft Windows API funkcijas, apibrėžtas esamos Microsoft Access bibliotekoje; Todėl jūsų pareiškimai gali būti pasikartojantys. Jei gaunate klaidos pranešimą dublikatų procedūros pavadinimą, pašalinkite arba komentuokite deklaracijos pareiškimą savo kode.

  6. Visual Basic doroklyje pridėkite šį kodą:

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  7. Modulį išsaugokite kaip helpmodule.

  8. Uždarykite Visual Basic rengyklę.

  9. Duomenų bazės lange, po objektųsekcija, spustelėkite makrokomandos.

  10. Spustelėkite naujas.

  11. Norėdami peradresuoti F1 raktą, sukurkite šią naują makrokomandą: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  12. Įrašykite makrokomandą kaip " AutoKeys" ir uždarykite makrokomandą.

  13. Duomenų bazės lange, po objektųskyriuje, spustelėkite formos.

  14. Dešiniojoje srityje dukart spustelėkite tiekėjai.

  15. Paspauskite klavišą F1.

Stebėkite, kad Microsoft Access rodo žinyno pranešimą, atitinkantį helpContextID valdiklį arba formą, iškylančiajame lange.

Prieiga 2007

  1. Paleisti Microsoft Access

  2. Atidarykite pavyzdinį duomenų bazės Northwind2007. accdb.

  3. Skirtuke kurti spustelėkite rodyklę po makrokomanda, tada spustelėkite moduliai.

  4. "Visual Basic" rengyklėje įklijuokite šį kodo pavyzdį skyriuje "deklaracijos".

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    Pastaboje Galite turėti kai kurias Microsoft Windows API funkcijas, apibrėžtas esamoje Microsoft Access bibliotekoje; Todėl jūsų pareiškimai gali būti pasikartojantys. Jei gaunate klaidos pranešimą dublikatų procedūros pavadinimą, pašalinkite arba komentuokite deklaracijos pareiškimą savo kode.

  5. "Visual Basic" rengyklėje pridėkite šį kodo pavyzdį.

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  6. Modulį išsaugokite kaip HelpModule.

  7. Uždarykite Visual Basic rengyklę.

  8. Skirtuke kurti spustelėkite makrokomanda.

  9. Norėdami peradresuoti F1 raktą, sukurkite šią naują makrokomandą: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  10. Įrašykite makrokomandą kaip "AutoKeys", tada uždarykite makrokomandą.

  11. Kairiojoje srityje spustelėkite tiekėjai .

  12. Kairiojoje srityje dukart spustelėkite tiekėjų sąrašas.

  13. Paspauskite klavišą F1.

Stebėkite, kad Microsoft Access rodo žinyno pranešimą, atitinkantį helpContextID valdiklį arba formą, iškylančiajame lange.

Nuorodos

Jei norite gauti daugiau informacijos, spustelėkite toliau nurodytų straipsnių numerius ir peržiūrėkite straipsnius Microsoft žinių bazėje:

828419 kaip sukurti HTML žinyno sistema naudojant HTMLHELP API arba HTML žinyno prieigos

242433 kaip sukurti KONTEKSTĄ jautrus HTML žinyno failus

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×