Hogyan működik a Delphi 7 rendszerben a Súgó
Hogyan szeretnék, hogy egy új alkalmazás egy standard referencia rendszer, de a tippeket, hogy mondjam - ezt így és így, és minden rendben lesz „OK” - nem működik. Volt egy hosszú idő „dugta körül” a dokumentáció és a forráskód hogy ez a munka, és most érdemes megosztani mindenkivel. Ebben az esetben nem kell megismételni kínál különböző irányelveket, mert nem voltak hatékonyak az MDI-alkalmazások. Íme a végleges eredmények, amelyek stabilak MDI-alkalmazások számos kihívás további formáit a gyermek.
Megjegyzés: 1. Az egész munka leírása a Delphi 7, hanem azért, mert azt sugallta, receptek tesztelték. Elég talán, ezek a receptek fog működni más változatban, de ez még nem igazolták.
Megjegyzés 2. A fejlesztés a Súgó-fájlban használt HelpManual 4.0 programot. Ez az egyik legjobb program, de van egy „szépséghiba” - Plug-in Delphi, ami egyfajta segít rendezni a szobát téma-s projektben. Tény, hogy a használata vezet a sok probléma. Ha HelpManual program csak telepítve, meg kell jegyezni, a lehetőség, hogy a plug-in készlet nem szükséges. Ellenkező esetben - meg kell újratelepíteni. Bár maga az alkalmazás nem számít, hogy milyen programot hivatkozott fájlt.
Kezdjük:
Munka egy ablakban alkalmazás (SDI alkalmazás)
Ez a legegyszerűbb eset, és működik az opció, hogy jött társaság Borland. nevezetesen:
- A HelpFile tulajdonát formájában be kell állítani az utat a Help fájlokat. Ha meg van írva, csak a fájl nevét, az alkalmazás megkeresi a Súgó rendszer ugyanazon a helyen, ahol az alkalmazás. Ez a tulajdonság lehet kialakítani az események feldolgozását onFormCreate majd regisztrálni a teljes elérési utat a rendszer segítségével.
- Minden objektum az ingatlan HelpContext jelzik Topic-egy szám, amely megfelel az ellenőrző-y. Plug-in HelpManual automatikusan létrehoz láthatatlan Topic-Control mindenki számára, és ő írja a számuk. De először is, nem minden tárgy szükséges saját-a téma, másrészt - gyakran több ellenőrző-s igény a téma-a. Ahhoz, hogy a helyzet javítására gyakran sokkal bonyolultabb, mint létre újra.
És elvileg ez elég ahhoz, hogy segítsen a rendszer működéséhez. Így fogant cég Borland. És jó lett volna, ha az SDI-alkalmazás nem okoz más formái, például bármilyen modális űrlapot az adatbevitel. És akkor ott vannak problémák, amelyek kapcsolódnak a több ablak alkalmazások.
Ugyanakkor a nyilvántartási szám nem túl kényelmes - akkor mindig a rendetlenség a valamit. Ezért van egy második lehetőséget. Használja nincsenek számok, de TopicID - szöveges azonosítót.
De ha szükség van nyomainak eltüntetésére korábbi tevékenységét. A tény az, hogy ha a projekt (bármilyen formában) töltöttünk HelpContext ingatlan, Delphi metszése esetén onkeydown magát kezelni az F1 billentyűt. a következő kódot lehet használni, hogy ellenőrizze:
Ezt követően meg lehet kezdeni az F1 billentyűt.
Az első dolog -, hogy megteremtse a súgórendszeréről értékek minden TopicID, amelyek kötődnek a megfelelő tárgyakat, hogy a nevét, a célok, amelyek akkor jönnek létre. Ez nem követelmény a rendszer, de ez jelentősen csökkenti a hibák számát.
A második -, hogy hozzon létre egy űrlapot, hogy meghatározzák az utat, hogy a rendszer segítségével.
Majd hívja egy adott objektum hivatkozni lehet az alábbiak szerint:
ahol a paraméter HelpJump funkció TopicID.
A munka a több alkalmazás (MDI alkalmazás)
Multi-ablak alkalmazás azzal jellemezve, hogy az első - egyes formák megfelelhet egy referencia fájlrendszer, másrészt - bármilyen formában is okozhat más modális vagy normál üzemmódban, és hogy, viszont egy másik. Az előző példa a HelpJump módszer működik egy MDI alkalmazás csak akkor hívott egy gyermeket formában hívták a fő formája viszont. Amint a gyermek forma olyan párbeszéd, Delphi elküldi a hívást a Súgó ablak szülő, és a szülő HelpContext ablak nem határozható meg, mint hiba. Pryavlyaetsya, hogy mielőtt megnyitná a kettős WinHelp megnyitja a Súgó fájlt. Pontosabban száma felfedezések forma felel meg a hívást, vagyis ha a gyermek formájában okozott a másik, ahonnan az úgynevezett referencia száma, referencia fájlok megnyitása lesz három. Ebben az esetben a referencia ajánlat a témában, amely az első volt a .CNT fájlt.
Annak érdekében, hogy egy működő áttételi rendszert az MDI-alkalmazás kell használni minden formáját az alábbi kódot:
Az állandók meghatározása HelpContext szám minden TopicID legjobb eredménye az elején egy helyen, annak érdekében, hogy megkönnyítsék a változtatásra. Ugyanebből a célból konstans nevek megfelelnek a tárgyak neveit hozzáadásával előtagot hlp_ ".
Ezt követően, abban az esetben FormCreate változó azonosítója van írva fmhWND alakú ablakok.
Az esemény végezzük FormClose WinHelp közvetlen hozzáférést biztosít a lezárás a jelenlegi rendszerre hivatkozik.
Végül minden objektum a KeyDown esemény kerül kezelése az F1 gombot:
Hívja a Súgó menü