Szabóné Nacsa Rozália Feladat Készítsünk el egy üres FormView alapú alkalmazást és építsünk köré egy súgó környezetet. 1
Tartalom Tárgymutató 2
Keresés Menüpontok 3
HTML oldalak HTML oldalak felsorolása intro.htm _topic_not_found.htm kutya.htm macska.htm eger.htm piros.htm kek.htm sarga.htm alma.htm korte.htm szilva.htm A HTML oldalakat tegyük az alkalmazás alá, a HTML alkönyvtárba. 4
A HTML oldal felépítése normál nézet A HTML oldal felépítése HTML nézet 5
Súgó elemek a HTML oldalon <html> <head>... <title> Kutya </title> Témakör </head> <h1><span lang="hu"><font color="#000099">a kutya </font> </span></h1> <p> Blabla </p> <Object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param name="alink Name" value="kutya link"> link </OBJECT> </body> Az alkalmazás és a HTML súgóelemek kapcsolata <html> <head>... <title> Kutya </title> </head> <h1><span lang="hu"><font color="#000099">a kutya </font> </span></h1> <p> Blabla </p> <Object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a- 00c04fc99f9e"> <param name="alink Name" value="kutya link"> </OBJECT> </body> 6
Tennivalók Súgó megtervezése HTML oldalak elkészítése MFC project legenerálása A Context sensitive help et nem kell bekapcsolni. A HTML help file elkészítése (.chm) A help file és az alkalmazás összekapcsolása 7
A HTML Help Workshop - m ködés tartalom.toc HTML oldal Help file.chm Index.hkk Project.hhp Alkalmazás HTML oldal MFC info.clw HTML oldal Ez csak egy sematikus vázlat!!! HTML Help Workshop - letöltés 8
HTML Help Workshop - installálás 1 2 Help for HTML Help 9
A HTML Help Workshop 1.3 Workshop indítása: HHW.EXE Érdemes a help projekt létrehozása el tt elkészíteni az MFC alkalmzásunkat, mert akkor rögtön arra a helyre tehethejük help projektet is. HHW Fille/New 10
New project wizard A help projektet ugyanoda tesszük, ahol az alkalmazásunk is van. New project wizard 11
Az els HHW projekt Mentsük el a projektet és nézzük meg, milyen fájlok keletkeztek. Információ az MFC-nek HHDemo.clw Tartalomjegyzék készítése - 1 12
Tartalomjegyzék készítése - 2 Tartalomjegyzék készítése Cím 13
Tartalomjegyzék készítése Oldal Tartalomjegyzék készítése Mentés Mentsük el a projektet! 14
Index készítése - 1 Index készítése - 2 15
Index készítése - 3 Index készítése - 4 16
Új ablak hozzáadása Add/Modify windows definition Beállítások: Options/General Change project options: General 17
Beállítások: Options/Files Change project options:files HHDemo.hhp - options [OPTIONS] Compatibility=1.1 or later Compiled file=hhdemo.chm Contents file=toc.hhc Default Window=Tripane Default topic=html\intro.htm Display compile progress=no Full-text search=yes Index file=index.hhk Language=0x40e magyar Title=HHDemo Help 18
HHDemo.hhp Windows/ Files [WINDOWS] Tripane="HHDemo HTML Help","toc.hhc","C:\Projects\HHDemo\index.hhk",,,,,,,0x2520,,0x3006,,,,,,,,0 [FILES] html\szilva.htm html\_topic_not_found.htm html\alma.htm html\eger.htm html\intro.htm html\kek.htm html\korte.htm html\kutya.htm html\macska.htm html\piros.htm html\sarga.htm HTML oldalak felvétele a projectbe Add/Remove topic files. 19
Mentés/Fordítás A fordítás után keletkezett fájlok 20
Indítsuk el az alkalmazásunkat (HHDemo) 21
Htmlhelp.lib Vegyük fel a fájlok közé a htmlhelp.lib könyvtárat. Htmlhelp.h Másoljuk át a htmlhelp.h header fájlt az alkalmazásunkba. 22
MainFrm.cpp: #include htmlhelp.h Menüpontok elkészítése 23
Menü ID-k. Caption Alma Körte ID ID_ALMA ID_KORTE Tartalom Tárgymutató Keresés About ID_HELP_CONTENTS ID_HELP_INDEX ID_HELP_SEARH ID_APP_ABOUT Súgó menüpontok A Help kapcsolót nem kell bekapcsolni. 24
OnHelpContents() beillesztése OnHelpContents() kódja void CMainFrame::OnHelpContents() { // TODO: Add your command handler code here } HtmlHelp ( 0, "hhdemo.chm", HH_DISPLAY_TOC, NULL) ; 25
OnHelpIndex() beillesztése OnHelpIndex() kódja void CMainFrame::OnHelpIndex() { // TODO: Add your command handler code here } HtmlHelp ( 0, "hhdemo.chm", HH_DISPLAY_INDEX, NULL) ; 26
OnHelpSearch() beillesztése OnHelpSearch() kódja void CMainFrame::OnHelpSearch() { // TODO: Add your command handler code here HH_FTS_QUERY q ; memset(&q, 0, sizeof(hh_fts_query)); q.cbstruct = sizeof(hh_fts_query); q.funicodestrings = FALSE; q.pszsearchquery = ""; q.iproximity = HH_FTS_DEFAULT_PROXIMITY; q.fstemmedsearch = FALSE; q.ftitleonly = FALSE; q.fexecute = TRUE; q.pszwindow = NULL; } HtmlHelp ( 0, "hhdemo.chm", HH_DISPLAY_SEARCH, (DWORD)&q) ; 27
OnHelpInfo() beillesztése (F1) OnHelpInfo() kódja (F1) BOOL CMainFrame::OnHelpInfo(HELPINFO* phelpinfo) { // TODO: Add your message handler code here and/or call default } HtmlHelp ( 0, "hhdemo.chm", HH_DISPLAY_TOC, NULL) ; return true; 28
Fordítás/Futtatás/Tesztelés 29