# プロローグ

 

 愛用の XP で久々に新しいソフトを作り、10 での動作もクリア。画像たっぷりの詳細なヘルプも完成。Windows10にセットして、さて出来栄えはドレドレ。まずはヘルプはどんな具合かな・・・。ナント・・・ヘルプがエラーになる! 

 従来の Win Help は Windows8 以降サポート中止。「HTML Help を作成するように」 なんだそうです。

 私の会心作 OursFree もこの何年もヘルプは動いていないのか・・・・・・。

 

 気を取り直して HTML Help なるものを調べてみましたが、100ページを越すHTMLのヘルプを何本も改めて作るのはとてもじゃない。

 従来の資産(原稿)を有効活用するためには、対策ソフトを作るしかない、と決意して色々試行錯誤。

 Word が吐き出した HTMLファイルHFILE_HTML_ALLは全てのページがまとまって1頁になっています。

 これをページ毎の HTMLファイル に分割し、HTML Help WorkshopHHTML_HELP_WORKSHOP のプロジェクトと目次を作るソフトが完成。

 脚注記号 # & K + A は除去し、二重下線と隠し文字で指定するリンク部分はファイルへのリンクに書き換えます。

 HTML Help Workshop が無い場合の為に、目次つきホームページタイプのヘルプHHELP_HPTYPEも考案。

 

 HTMLファイルは自由というかゴチャゴチャというか、千差万別で、全てに対応できているとはいえませんが、相当にブラシアップして実用レベルになったと思うので公開します。駄目もとで試す価値はあると思います。

 


# 使い方

 

 HTML Help には原稿とする ページ毎のHTMLファイル が必要です。

 Win Help の原稿としていた AfxCore.rtf などのリッチファイルを Word で読み込み、ページ(*.htm,*.html) で書き出すと、全てのページが連結されたファイルHFILE_HTML_ALLとなります。ページ毎のHTMLファイル を書くには相当の労力が必要です。

 

 【ヘルプのヘルプ】は、上記の連結1ページとなった HTMLファイル をページ毎のファイルに分割します。

 あわせて、脚注記号の # & K + A を取り除きます。

 また、二重下線と隠し文字で記述していたリンク部分を、HTMLファイル 呼び出しの記述に書き換えます。

 

 HTML Help (***.chm) を作成H_MAKE_HTMLHELPするには HTML Help WprhshopHHTML_HELP_WORKSHOP というアプリケーションが必要です。

 【ヘルプのヘルプ】は HTML Help の代替手段と出来る ホームページライクのヘルプHHELP_HPTYPE機能 を作成することもできます。この場合は HTML Help WprhshopHHTML_HELP_WORKSHOP は不要です。

 

使い方

A.

 原稿とする HTMLファイルを用意HFILE_HTML_FOR します。

B.

 変換を実行するフォルダ [HELP] を作成し、ファイルと画像フォルダをコピーします。

 目次ファイル(***.cnt)HFILE_CNT があれば一緒にコピーします。

C.

 [ファイル] [開く] で用意したファイルを読み込みます。

D.

 [HTML変換] [HTML Help 変換開始] をクリックします。

E.

 フォルダ [HELP] にページ分割した HTMLファイルが保存されます。

 原稿の HTMLファイル(と目次ファイル)は フォルダ [HELP] と並びの [Finished] フォルダに移動します。画像フォルダはそのまま [HELP] に残ります。

 同時に WprhshopHHTML_HELP_WORKSHOP のプロジェクト(*.hhp)と目次(*.hhc)を生成します。

 [Finished] フォルダにはページ見出しとファイル(***.htm)の対照リスト ListTitl.txtHFILE_LISTTITLE も保存します。

 また、その後の作業内容を説明した HTML_Help_の作成と組込.txt も保存します。

F.

 ヘルプ実行ファイルを作成H_MAKE_HTMLHELPして、対象アプリケーションの [ヘルプ] [HTML Help 目次] などのコマンドを完成HMAKE_HELPCOMさせます。

 または、HTML Help (***.chm) のショートカットをディスクトップなどに作ります。 


# HTMLファイル

 

 AfxCore.rtf などのリッチファイルを Word で変換した HTMLファイルは全てのページが連結された1頁のファイルになります。

 

 テキストファイルとして見た全体構造は、ヘッダー部、頁記述部、脚注部 から成り、幾つかのキーワードで区分できます。

 

 ヘッダー

<div class=Section1>

 1ページ

<br clear=all style='page-break-before:always'>

 2ページ

<br clear=all style='page-break-before:always'>

 ・・・

<br clear=all style='page-break-before:always'>

 ・・・

<div style='mso-element:footnote-list'><![if !supportFootnotes]><br clear=all>

 脚注

 

 まずヘッダーを分離し、余分と思われる項目を消去し、各頁のヘッダとします。

 ここから脚注記号、頁ID、などを抽出し、消去とリンクの書き換えが必要です。

 次に頁の分割です。IDをファイル名として分離保存します。不要なコードの削除も必要。

 

 ところが、HTMLファイルというのは千差万別で、多様な記述になっています。途中で改行されていたり、ホワイトスペースが入ったり、記述文字列がバラバラに分けられたり。

 

 脚注の呼び方も下記のように異なります。

<div style='mso-element:footnote-list'> だったり <div style='mso-element:endnote-list'> だったり。

 

 文字列は >***< のところに入っていますが、一体のものとバラバラのものと色々。二重下線は文字列の前に double'> が入っていますがバラバラ文字列の場合はとても複雑。 double'> の効果が後の文字列にわるさをしないように </a> の追加が必要だったり。   

 文字列 “[開く...]コマンド”もどうかするとこういう具合。

 

<u style='text-underline:do****'><span lang=EN-US>[</span></u></span><b><span

style='font-size:12.0pt;font-family:"MS ゴシック";mso-ascii-font-family:"MS Pゴシック";

mso-hansi-font-family:"Times New Roman"'>開く</span></b><b><span lang=EN-US

style='font-size:12.0pt;font-family:"MS Pゴシック";mso-fareast-font-family:"MS ゴシック";

mso-hansi-font-family:"Times New Roman"'>...</span></b><u style='text-underline:

do****'><span lang=EN-US style='font-size:12.0pt;font-family:"MS Pゴシック";

mso-fareast-font-family:"MS ゴシック";mso-hansi-font-family:"Times New Roman"'>] </span></u><u

style='text-underline:do****'><span style='font-size:12.0pt;font-family:"MS ゴシック";

mso-ascii-font-family:"MS Pゴシック";mso-hansi-font-family:"Times New Roman"'>コマンド</span></u><span

lang=EN-US style='font-size:12.0pt;font-family:"MS Pゴシック";mso-fareast-font-family:

"MS ゴシック";mso-hansi-font-family:"Times New Roman";display:none;mso-hide:all'>HID_File_OPEN</span><span

 

 各種パターンに対応するにはかなりの工夫が必要です。
# HTML Help Workshop

 

 M社が提供している無料のアプリケーション。

 ダウンロード先を探すのに苦労しました。

 下記のサイトは参考までに。

 

      https://softradar.com/html-help-workshop/download/

 

 生成したプロジェクトファイルを開きコンパイルするとHTML Help(*.chm) が完成します。
#
HP Type Help

 

 各ページの先頭に [目次]リンク が入り目次に戻ることができます。

 ヘルプの起動は目次ファイルの起動で行います。

 目次のHTMLファイル ***.htm は ***.cnt ファイルより作成します。

 ***.cnt ファイルが無い場合は全ページの目次となります。

 目次ファイルは Word で編集可能です。

 

 目次ファイル(*.htm)

 

     

 

 各ページには [目次] のリンクが入ります。

 

     
#
HTML原稿ファイル

 

 アプリケーションの開発の時に Win Help 用に作った AfxCore.rtf などの原稿ファイルを Word で HTMLファイルHFILE_HTML_ALLに変換します。

 リッチファイルの時点で bmc fileopen.bmp などの画像挿入記述部分は全て画像のコピーペーストに置き換えます。そのままではHTML変換しても画像は表示できません。

 [ファイル] [名前を付けて保存] で [Webページ(*.htm *.html)] を指定して保存します。

 画像はファイルと同じフォルダーの ***.files というフォルダに png形式 で出力されます。

 もし ***.files に jpg形式 で保存された画像がある場合は HTML Help WorkshopHHTML_HELP_WORKSHOP で HTML Help を作った場合に画像が表示されません。全て png形式 になるように調整HPIC_TO_PNGします。

 

 原稿とするリッチテキストファイルが手元に無い場合は、既存のアプリケーションに添付されている Win Help (***.hlp) から得るHNO_TOOLことも可能です。

 目次ファイル(*.cnt)HFILE_CNT は Win Help(*.hlp) に添付されているはずです。

 

 Windows8以降の開発環境で AfxCore.rtf などが提供されているのかどうかは知りませんが、従来のWin Help に慣れた人にはわかりやすいフォームです。

 

 リッチテキストファイルを作るには、Word で新規ドキュメントを開き、[挿入] [脚注] を指定します。

 設定ダイアログで [番号の付け方] [任意の脚注記号] [#] を入力します。

 頁の先頭の # より後に何行かの改行を入れてから [挿入] [改ページ] で次のページに移ります。

 最初のページの 先頭の # から改行までをコピーし、次のページに次々とペーストしておきます。

 頁の先頭の # の隣に頁の見出し、脚注の # の隣に頁のリンクID を HID_FILE_OPEN などと入力します。

 記事を書き、リンク部分は二重下線を入れ、直後にリンクIDを隠し文字で入れます。

 画像はコピーペーストして貼り付けます。

 

 [ファイル] [名前を付けて保存] で [リッチテキスト形式(RTF)(*.rtf)] で保存します。

 次に、[ファイル] [名前を付けて保存] で [Web ページ(*.htm,*.html)] で保存します。

 画像はファイルと同じフォルダーの ***files というフォルダに png形式 で出力されます。

 

                                                (以上 Word2000 での例)


# 画像の調整

 

 HTML Help WorkshopHHTML_HELP_WORKSHOP では、どうも処理する画像は png形式 に限られているようです。

 Word RTF/HTML 変換するとき、何かの具合で同じ画像が jpeg png の二つの形式で保存される場合があります。このまま HTML Help 変換を行うと、該当画像は表示されません。

 この場合は下記のように処置してください。

 

01

 HTML画像ファイルを出力すると画像は ***.files フォルダに出力されます。

02

 ***.files フォルダに jpeg形式 の画像があったらビューアーで開いて確認。

03

 原稿の ***.rtf でその画像を探す。

04

 該当画像を右ボタンクリックでコピー。

05

 ペイントアプリケーションを開いておいてペースト。

06

 [名前をつけて保存] 256色ビットマップ として一旦保存。

07

 [全て選択] で選択しコピー。

08

 原稿の ***.rtf に戻り元画像を削除してペースト。

09

 全ての該当画像に上記の処置をします。

10

 原稿の ***.rtf を保存します。

11

 [名前をつけて保存] web ページ(*.htm, *.html) で保存。

12

 ***.files フォルダに jpeg形式 の画像が無いことを確認。

 

 

 


# 目次ファイル

 

 最新の開発環境の事は分かりませんが、従来はアプリケーションの開発時に Win Help 用に ***.cnt という目次ファイルが作られました。

 中身はテキストファイルで、拡張子が [cnt] になったものです。ですから、テキストファイルを作って拡張子 [txt] [cnt] に書き換えれば作成できます。

 【ヘルプのヘルプ】で [ファイル][新規作成HID_FILE_NEW] で開いたドキュメントに記述し、*.cnt として保存することもできます。

 

 目次ファイルは下記例のように記述します。

 

1 使い方=H_HOWTO

1 メニュー

      2 [ファイル] メニュー=H_MENU_FILE

      2 [ファイル+] メニュー=H_MENU_FILE_PLUS

      2 [表示] メニュー=H_MENU_VIEW

      ・・・

      2 内部見出し

            3 リンク=・・・

            ・・・

1 ファイルを開く/保存する

      2 開く/保存ファイルの種類=H_TYPEFILE

      ・・・

 

 1 の後のタイトルは基本的に見出しですが、リンクを記述することも出来ます。

 2 の後のタイトルはページの内容で、リンクを記述します。

 = の後はページのリンクIDです。

 2 にリンクでなく見出しを記述すると上のグループに属する見出しとなります。その下のリンクは 3 で記述します。以下同様です。

 


#  ListTitl.txt

 

 各ページの見出しとそのページのファイル名の対象リストです。

 [Finished]フォルダに保存します。

 

         

 

 目次を再編集HEDIT_CNTする場合に参照すると便利です。

 

 

 


# [ヘルプ]コマンド

 

 コマンドの関数は下記例のように記述します。

 

void CHhelpApp::OnHelpHtml()

{

      //HTML Help

      CString FileName = m_MyPath;

      FileName += "Hhelp.chm";

      ShellExecute( NULL, _T( "open"), FileName, NULL, NULL, SW_SHOWNORMAL);

}

 

void CHhelpApp::OnHelpHptype()

{

      //HP Type Help

      CString FileName = m_MyPath;

      FileName += "HpType\\Hhelp.htm";

      ShellExecute( NULL, _T( "open"), FileName, NULL, NULL, SW_SHOWNORMAL);

}

 

HpType は変換作業フォルダです。Help などの名称でもかまいません。

Hhelp.chm はHTML Help ファイル、Hhelp.htm は HP Type Help の目次ファイル です。

m_MyPath はアプリケーションの実行ファイルのパスです。

 

      char HelpPath[260];

      strcpy( HelpPath, pApp->m_pszHelpFilePath);

      char drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT];

      _splitpath( HelpPath, drive, dir, fname, ext );

      m_MyPath = drive;

      m_MyPath += dir;

 

m_MyPath には Hhelp.chm ファイル や HpType フォルダ(各ページの***.htm と 画像フォルダ ***files が入っている) をコピーします。


# HTML Help の作成

 

 次のように操作します。

01.

 HTML Help WprhshopHHTML_HELP_WORKSHOP を立ち上げる。

02

 [File][Open] から【ヘルプのヘルプ】で生成したプロジェクトファイル(**.hhp)を開く。

03.

 [File][Compile] でコンパイル。

 

 [Contents]ボタンをクリックすると、目次を確認できます。

 初期画面(Default topic)を変更するには Change project options を使います。

 

 

 変換の時に 目次ファイル(*.cnt) が無い場合は全ページの目次となります。

 まず不要なページを選択して Delete selection で消去します。

 順番を変えたい時は、ページを選択して Move selection up / down で移動します。

 ページのタイトルを変更する場合は、ページを選択して Edit selection で変更します。

 

 

 Insert Heding で見出しを挿入します。選択ページの下に入ります。

 

 → 

 

 全ての見出しを挿入したら、見出しの直下のページを選択し、Move selection right でページを一段下げます。

 

 → 

 

 全て完了したら、[File][Compile]でコンパイルすると、HTML Help の ***.chm が完成です。

 

 

 プロジェクトファイル(***.hhp) と 目次ファイル(Table of conyents.hhc) は変更されています。このまま放置すると次に変換をした時に上書きされてしまいます。***.chm と共に他のフォルダにバックアップしておいてください。 

 

 目次ファイル(*.cnt)のリンクIDと原稿ファイル(*.rtf, *htm)のページID(# HID_・・・ など)が一致しない場合(Win Help を解凍HNO_TOOLした場合など)があります。

 【ヘルプのヘルプ】はIDが一致しない場合は、ページの一番近い見出しを探しそこへのリンクを記述します。

 目次ファイル(-*.cnt)のタイトルとページの見出しの一致率が低い場合は、下図のように目次を作成します。

 

 HTML Help Workshpの目次 

 

 HP Type Help の目次 

 

 ☆印がついた部分が一致率の低いページです。もっと低い場合は★印になります。

 ←の後がページの見出しです。

 この部分は再編集HEDIT_CNTしてください。

 

 


# 目次の編集

 

 

 HTML Help Workshpの目次 

 

 HTML Help WprhshopHHTML_HELP_WORKSHOP の Contentsタブ で該当ページほ選択し Edit Selectionボタン をクリックして編集します。

 

  → 

 

 

 HP Type Help の目次 

 

 タイトルだけの編集なら Word で書き換えれば済みます。

 リンクを編集する場合は【ヘルプのヘルプ】またはテキストエディタで開いてリンク部分を書き換えます。

 

 

 

 

 


# 開発環境がない場合

 

 アプリケーションに付属している Win Help (***.hlp) から原稿ファイル(***.rtf)と画像ファイルを得る事ができます。

 Universal Extractor というアプリケーションで ***.hlp ファイルを解凍できます。

 

 得られた ***.htm 同じ手順HHAU_TO_USE HTML Help や HP Type Help を作ります。

 目次ファイル ***.cntHFILE_CNT Win Help(*.hlp) に添付されています。

 

 HTML Help (***.chm) や HP Type Help の目次ファイル(***.htm) のショートカットを作り、そこからヘルプを起動します。

 


# Win Help コマンドの処置

 

 Windows8 以降で Win Help の[ヘルプ]コマンドをクリックすると、勝手に Microsoft Edge が立ち上がり大変面倒です。

 Win Help を搭載したアプリケーションならばWindows のバージョンをチェックしてコマンドを無効にする関数を用意した方が良いでしょう。

 F1キーによる Win Help の立ち上げ機能は対処方法が分かりません。String Table でメッセージを変えておきます。

 

以下参考コード

 

 AFX_IDS_IDLEMESSAGE ヘルプを表示するには F1 を押してください。Windows8 以降では F1 を押さないでください。  

 

void CHhelpApp::OnUpdateHelpFinder(CCmdUI* pCmdUI)

{

      //Win Help

      if ( m_WinHelp)

      {

            pCmdUI->Enable( TRUE);

      }

      else

      {

            pCmdUI->Enable( FALSE);

      }

}

 

ヘルプコンテキストも無効化します。

 

//Win Help Context//MAINFRAMEメニューの場合は nFrame::OnUpdateContextHelp(CCmdUI* pCmdUI)

void CHhelpApp::OnUpdateContextHelp(CCmdUI* pCmdUI)

{

      if ( m_WinHelp)

      {

            pCmdUI->Enable( TRUE);

      }

      else

      {

            pCmdUI->Enable( FALSE);

      }

}

 

void CHhelpApp::CheckWinVer()

{

      //Windows Version をチェックしWinHelp目次の表示モードm_WinHelpをセットする

      OSVERSIONINFOEX verex;

      verex.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);

      GetVersionEx((OSVERSIONINFO*)&verex);

      int MajorVersion = verex.dwMajorVersion;

      int MinorVersion = verex.dwMinorVersion;

      //int ProductType = verex.dwProductType;  //MSDEV6ではverexにないメンバ

      m_WinHelp = TRUE;

      if ( MajorVersion == 3 && MinorVersion == 1);               //NT 3.1

      else if ( MajorVersion == 3 && MinorVersion == 5);          //NT

      else if ( MajorVersion == 3 && MinorVersion == 51);         //NT 3.51

      //else if ( MajorVersion == 4 && MinorVersion == 0 && ProductType == 1);            //NT 4.0

      //else if ( MajorVersion == 4 && MinorVersion == 0 && ProductType == 0);            //95

      else if ( MajorVersion == 4 && MinorVersion == 0);          //NT 4.0 //95

      else if ( MajorVersion == 4 && MinorVersion == 10);         //98 //98SE

      else if ( MajorVersion == 4 && MinorVersion == 90);         //me

      else if ( MajorVersion == 5 && MinorVersion == 0);          //2000

      else if ( MajorVersion == 5 && MinorVersion == 1);          //XP

      else if ( MajorVersion == 5 && MinorVersion == 2);          //2003R2

      else if ( MajorVersion == 6 && MinorVersion == 0);          //Vista

      //else if ( MajorVersion == 6 && MinorVersion == 1 && ProductType == 1);            //7

      //else if ( MajorVersion == 6 && MinorVersion == 1 && ProductType == 3);            //2008R2

      else if ( MajorVersion == 6 && MinorVersion == 1);          //7 //2008R2

      //WinHelpは8.1までサポートしているが

      //マニフェストを指定しない場合ではWindows 10ではWindows8相当の答えが返ってくる

      //else if ( MajorVersion == 6 && MinorVersion == 2);        //8 //2012

      //else if ( MajorVersion == 6 && MinorVersion == 3);        //8.1 //2012R2

      //else if ( MajorVersion == 10 && MinorVersion == 0);       //10

      else

      {

            m_WinHelp = FALSE;

      }

}


# ファイルメニューのコマンド

 

新規作成HID_FILE_NEW

新規にファイルを作成

開くHID_FILE_OPEN

既存のファイルを開く

閉じるHID_FILE_CLOSE

作業中のファイルを閉じる

上書き保存HID_FILE_SAVE

作業中のファイルを上書きして保存

名前を付けて保存HID_FILE_SAVE_AS

作業中のファイルを新しい名前で保存

印刷HID_FILE_PRINT

作業中のファイルを印刷

印刷プレビューHID_FILE_PRINT_PREVIEW

印刷イメージを表示

プリンタの設定HID_FILE_PRINT_SETUP

プリンタ/印刷オプションの変更

アプリケーションの終了HID_APP_EXIT

アプリケーションを終了し、ファイルの保存を指示

 

 

 

 


# 編集メニューのコマンド

 

元に戻すHID_EDIT_UNDO

直前に行った動作を元に戻す

切り取りHID_EDIT_CUT

選択範囲を切り取ってクリップボード゙に保存

コピーHID_EDIT_COPY

選択範囲をコピーしてクリップボード゙に保存

貼り付けHID_EDIT_PASTE

クリップボード゙の内容を貼り付け

 

 

 


# [HTML変換] メニューのコマンド

 

準備-AHID_PREP_A

変換の準備を説明する

準備-BHID_PREP_B

変換の準備を説明する

準備-CHID_PREP_C

変換の準備を説明する

準備-DHID_PREP_D

変換の準備を説明する

準備-EHID_PREP_E

変換の準備を説明する

HTML Help 変換開始HID_SEPARATE_HTML

ヘルプ原稿文書のHTKLファイルをページに分割しHTML Help Workshop のプロジェクトと目次を作る

HP TypeL Help 変換開始HID_SEPARATE_HP

ヘルプ原稿文書のHTKLファイルをページに分割し目次とそのリンクを作る

 

 

 

 


# 表示メニューのコマンド

 

ツールバーHID_VIEW_TOOLBAR

ツールバーの 表示/非表示の表示切り替え

ステータスバーHID_VIEW_STATUS_BAR

ステータスバーの 表示/非表示の表示切り替え

 

 


# ウィンドウメニューのコマンド

 

新しいウィンドウを開くHID_WINDOW_NEW

作業中のウィンドウを複写して表示

重ねて表示HID_WINDOW_CASCADE

ウィンドウを重ねて表示

並べて表示HID_WINDOW_TILE

ウィンドウを並べて表示

アイコンの整列HID_WINDOW_ARRANGE

ウィンドウの下部にアイコンを整列

 

 

 

 


# ヘルプメニューのコマンド

 

Win Help 目次HID_HELP_FINDER

ウインドウヘルプの目次を表示する

HTML Help 目次HID_HELP_HTML

HTMLヘルプを表示する

HP Type Help 目次HID_HELP_HPTYPE

ホームページタイプのヘルプの目次を表示する

ホームページHID_URL

ホームページを表示する

Hhelp のバージョン情報HID_APP_ABOUT

プログラムの情報、バージョンそして著作権を表示

 

 

 

 


# 準備-A

 

 HTML原稿ファイルをページに分割する準備を説明します。

 

 開発時に作成した Win Help の原稿となる リッチファイル AfxCore.rtf等 を用意します。

 リッチファイルは Win Help の実行ファイル ***.hlp を Universal Extractor で解凍しても得られます。

 原稿の リッチファイルを Word で開き

 {bmc filenew.bmp} {bml scmenu.bmp} などの画像挿入文を消去し

  filenew.bmp scmenu.bmp などの画像ファイルを開き

  画像を全選択してクリップボードにコピーし

  原稿のリッチファイルに貼り付けます。

 

 全ての画像挿入文を画像の貼り付けに置き換えます。

 編集した原稿はリッチファイルとして保存しておくきます。

 

 HTML Help を作成する時は、画像を 256色ビットマップ としてからコピー貼り付けします。

 HTML Help Wprkshop アプリケーションが 24ビットビットマップ を受け付けないことがある為です。

 詳しくは [ヘルプ] [関連項目][画像の調整HPIC_TO_PNG] を参照してください。

 


# 準備-B

 

 HTML原稿ファイルをページに分割する準備を説明します。

 

 画像を編集した原稿の リッチファイル(*.rtf) を Word で開き、Webページ(*.htm, *html) として名前を付けて保存します。

 このファイル名は Web として開いた時の文書名として表示されます。

 ファイルが大きすぎる場合は、[開くHID_FILE_OPEN]コマンドを指定した時にエラー表示が出ます。

 その場合は、リッチファイルを複数のファイルに分割してください。


# 準備-C

 

 HTML原稿ファイルをページに分割する準備を説明します。

 

 変換を実行するフォルダを作り

  原稿のHTMLファイル(*.htm) 画像の入ったフォルダ を選択コピ−して貼り付けます。


# 準備-D

 

 HTML原稿ファイルをページに分割する準備を説明します。

 

  編集された目次 を作る場合は

 HP Type Help を作る場合は、Win Help を作るときに目次とした *.cnt ファイルを選択コピ−して

  変換を実行するフォルダに貼り付けます。

 HTML原稿ファイルと目次ファイルHFILE_CNTは異なった名称にしてください。

 

  目次ファイル(*.cnt) が無い場合は、全頁の目次が作成されます。

 


# 準備-E

 

 HTML原稿ファイルをページに分割する準備を説明します。

 

 変換を実行するフォルダの全ての原稿ファイル(*.htm)を

  [ファイル][開く]コマンドで開きます。

 ファイルが大きすぎる場合は、エラー表示が出ます。

 サイズの目安は およそ1000KB以下 です。[準備-BHID_PREP_B] を参照してください。

 

 目次ファイル(*.cnt)HFILE_CNTがある場合も、[ファイル][開く]コマンドで開きます。

 

 以上の準備が完了したら [変換開始] コマンドを指定します。

  [HTML Help 変換開始HID_SEPARATE_HTML] では HTML Help Workshop プロジェクトと目次ファイルを生成します。

    [HP Type Help 変換開始HID_SEPARATE_HP] では 目次と各ページの HTMLファイル を生成します。
# HTML Help 変換開始

 

 開いている全ての HTML原稿ファイルHFILE_HTML_FOR をページに分割し、必要な書き換えを行います。

  また、HTML Help Workshop のプロジェクトファイル(*.Hhp)と目次ファイル(Table of contents.hhc)を生成します。

 目次ファイル(***.cnt)HFILE_CNTが開いている場合は、Table of contents.hhc はそのフォームで作成します。

 目次ファイル(***.cnt)HFILE_CNTが無い場合は、全てのページの目次を作ります。HTML Help Workshop で編集H_MAKE_HTMLHELPすれば見出しのついた目次に変更できます。

 

 変換後、HTML原稿ファイルHFILE_HTML_FOR は 作業フォルダ([HELP]など)と並びの [Finished]フォルダに移動しますが。付属する画像ファイルのフォルダ(***files)は残します。

 目次ファイル(***.cnt)HFILE_CNTがあれば同じく[Finished]フォルダに移動します。

 

 [Finished]フォルダには下記のファイルも保存します。

 

ページ見出しとファイル(***.htm)の対照リスト ListTitl.txtHFILE_LISTTITLE

その後の作業内容H_MAKE_HTMLHELPを説明した HTML_Help_の作成と組込.txt

 


# HP Type Help 変換開始

 

 開いている全ての HTML原稿ファイルHFILE_HTML_FOR をページに分割し、必要な書き換えを行います。

 目次ファイル(***.cnt)HFILE_CNTが開いている場合は、HTML目次ファイル(***.htm)を作成し、各ページの文頭に[目次]へのリンクHHELP_HPTYPEを入れます。

 目次ファイル(***.cnt)HFILE_CNTが開いていない場合は、全ページの目次ファイル(***.htm)を作ります。これは Word で編集して見出しの付いた目次に変更することができます。

 

 変換後、HTML原稿ファイルHFILE_HTML_FOR は 作業フォルダ([HELP]など)と並びの [Finished]フォルダに移動しますが。付属する画像ファイルのフォルダ(***files)は残します。

 目次ファイル(***.cnt)HFILE_CNTがあれば同じく[Finished]フォルダに移動します。

 

 [Finished]フォルダには下記のファイルも保存します。

 

ページ見出しとファイル(***.htm)の対照リスト ListTitl.txtHFILE_LISTTITLE

その後の作業内容を説明した HP_type_Help_の組込.txt

 

 

 

 

 


# Ver.01.00

 

 2023.02. リリース


#K $ [新規作成] コマンド

 

 新規文書を作成します。テキスト形式で開きますが、保存時に拡張子は変えられます。

 

 既存の文書は [開く...] コマンドHID_FILE_OPEN.を使います。

 

ツールバー:      

キーボード:       CTRL+N

 


#K $ [開く] コマンド

 

 既存の文書を開きます。

 一度に複数の文書を開くことができます。[開く]ダイアログ ボックスAFX_HIDD_FILEOPEN で、Ctrlキーを押して選択/ドラッグ/Shiftキーを押して選択 します。

 

 複数の文書の編集を切り替えるには、[ウィンドウ] メニューの [ウィンドウ名 1, 2, ...] コマンドHID_WINDOW_ALL. を使ってください。

 または Tab(Shift+Tab)キーでも切り替えできます。

 

 新たに文書を作成するには [新規作成] コマンドHID_FILE_NEW を使ってください。

 

ツールバー:      

キーボード:       CTRL+O

 


#[開く] ダイアログ ボックス

 

 [開く] ダイアログ ボックスでは、以下のオプションが設定できます。

 

ファイル名

開きたい文書の名前を入力または選択します。

リスト ボックスには、[ファイルの種類]ボックスで選択したファイル形式に対応する拡張子を持ったファイルが一覧表示されます。

ファイルの種類

開きたい文書のファイル形式(*.txt *.htm *.cnt)を選択します。

ドライブ

開きたい文書が保存されているドライブを選択します。

ディレクトリ

開きたい文書が保存されているディレクトリを選択します。

 


#K $ [閉じる] コマンド

 

 現在アクティブになっている文書のウィンドウを閉じます。

 ウィンドウを閉じる前に、文書を保存するかどうか確認します。

 文書を保存しないで閉じた場合、前回の保存時以降に加えた変更内容はすべて失われてしまいます。

 まだファイル名を付けていない文書を閉じようとすると、[名前を付けて保存] ダイアログ ボックスAFX_HIDD_FILESAVE を表示しますので、作業中の文書に適切なファイル名を付けて保存することができます。

 

文書のウィンドウのコントロール ボックスをダブル クリックしてウィンドウを閉じることもできます

         


#K $ [上書き保存]コマンド

 

 作業中の文書のファイル名、保存場所を変更しないで保存します。

 新規作成した文書を初めて保存するときに、[名前を付けて保存] ダイアログ ボックスAFX_HIDD_FILESAVE を表示しますので、作業中の文書に適切なファイル名を付けて保存することができます。

 

 ファイル名、保存場所を変更して保存したいときは [名前を付けて保存...] コマンドHID_FILE_SAVE_AS. を使います。

 

ツールバー:      

キーボード:       CTRL+S

 

 


#K $ [名前を付けて保存]コマンド

 

 作業中の文書にファイル名を付けて保存します。[名前を付けて保存] ダイアログ ボックスAFX_HIDD_FILESAVE を表示しますので、作業中の文書に適切なファイル名を付けて保存することができます。

 

 作業中の文書のファイル名、保存場所を変更しないで保存したいときは [上書き保存] コマンドHID_FILE_SAVE を使います。

 


# [名前を付けて保存...] ダイアログ ボックス

 

 [名前を付けて保存...] ダイアログ ボックスでは、ファイル名や保存場所を指定する以下のオプションが設定できます。

 

ファイル名

元のファイル名と違う名前でファイル名を入力します。[名前を付けて保存...] ダイアログ ボックス内に独自の拡張子を追加することができます。

ドライブ

文書を保存するドライブを選択します。

ディレクトリ

文書を保存するディレクトリを選択します。

ネットワーク...

ネットワークに接続し、 新しいドライブ名を設定します。

 

 


#K $ [終了] コマンド

 

 作業を終了します。

 アプリケーション ウィンドウのコントロール メニューにある [閉じる] コマンドを使って作業を終了することもできます。

 文書に加えた変更点がまだ保存されていないときは、保存するかどうか確認するダイアログ ボックスを表示します。

 

マウスで アプリケーション ウィンドウのコントロール メニュー ボックスをダブルクリックします。

             

キーボード:       ALT+F4


# [元に戻す/元に戻せません]コマンド

 

 可能であれば、直前に行った編集操作をキャンセルし、文書を元に戻します。

 

キーボード:       Ctrl;+Z または Alt-BackSpace 

 


# [切り取り] コマンド ([編集] メニュー)

 

 現在選択しているデータを文書から削除してクリップボードに保存します。

 データが選択されていないときは、このコマンドは使用できません。

 

 データをクリップボードに切り取ると、それまでクリップボードに保存されていた内容は新たに切り取った内容に置換されます。

 

ツールバー:      

キーボード:       CTRL+X

 


# [コピー] コマンド

 

 文書内で選択されたデータをコピーしてクリップボードに保存します。

 データが選択されていないときは、このコマンドは使用できません。

 

 データをクリップボードにコピーすると、それまでクリップボードに保存されていた内容は新たにコピーした内容に置換されます。

 

ツールバー:      

キーボード:       CTRL+C

 


# [貼り付け] コマンド

 

 クリップボードの内容をカーソル位置に挿入します。

 クリップボードに何も保存されていないときは、このコマンドは使用できません。

 

ツールバー:      

キーボード:       CTRL+V

 


#K $ [ツールバー]

 

 ツールバーAFX_HIDW_TOOLBARの表示、非表示を切り替えます。

 ツールバーには、[開く...]などの、最もよく使われるコマンドと同じ機能を持ったツールが含まれています。

 ツールバーが表示されているときは、このコマンド名の横にチェックマークが表示されます。

 


#K $ ツールバー

 

 

 ツールバーは、アプリケーション ウィンドウ上部で、メニュー バーのすぐ下に表示されます。

 使用する多くのツールをマウスでクリックして操作します。

 

 ツールバーの表示と非表示を切り替えるには、[表示] メニューの [ツールバー] コマンドHID_VIEW_TOOLBARを選択します。

 

 


#K $ [ステータスバー] コマンド

 

 [ステータスバー]AFX_HIDW_STATUS_BARの表示、非表示を切り替えます。

 ステータスバーには、メニュー コマンドやツールバーのボタンを選択したときにコマンドの簡単な説明や、キーボードの特殊キーのON/OFF の状態などが表示されます。

 ステータスバーが表示されているときは、このコマンド名の横にチェックマークが表示されます。

 


#K $ ステータスバー

 

 

 ステータスバーは、ウィンドウの一番下に表示されます。

 ステータスバーの表示、非表示を切り替えるには、[表示] メニューの [ステータスバー] コマンドHID_VIEW_STATUS_BARを選択してください。

 

 ステータス バーの左側の部分には、メニューコマンドを選択したときにそれぞれの簡単な説明が表示されます。

 同様に、ツールバーのボタンを押したままにしても簡単な説明が表示されます。

 説明を見た後でそのツールバーのコマンドの実行を中止したいときは、マウスポインタをそのツールバー ボタン以外の位置に移動してマウスボタンを離します。

 

 ステータス バーの右側の部分には、以下のキーの ON/OFF の状態が表示されます。

 

カナ                [カナ] キーが ON の状態

CAP             [Caps Lock] キーが ON の状態

NUM             [Num Lock] キーが ON の状態

SCRL           [Scroll Lock] キーが ON の状態


# [新しいウィンドウを開く] コマンド

 

 作業中のウィンドウと同じ内容を表示する別のウィンドウを開きます。

 1つの文書に対して複数のウィンドウを開くことができるので、同時に1つの文書のいろいろな部分をそれぞれのウィンドウに表示することができます。

 1つのウィンドウで文書の内容を変更すると、その文書を表示する他のすべてのウィンドウにもその変更が反映されます。

 新規ウィンドウを開くと、そのウィンドウがアクティブになり、他のウィンドウの前面に表示されます。

 


# [重ねて表示] コマンド

 

複数のウィンドウを重ねて表示します。

 


# [並べて表示] コマンド

 

複数のウィンドウを並べて表示します。

 

 


# [アイコンの整列] コマンド

 

 アプリケーションのメイン ウィンドウの一番下にアイコン化されているウィンドウを整列させます。

 もし文書のウィンドウが開いていて、メインウィンドウの一番下の部分にかかっている場合、このウィンドウの下になっているアイコンは見えません。


# [ウィンドウ名 1, 2, ...] コマンド

 

 現在開いている文書ウィンドウのリストが [ウィンドウ] メニューのいちばん下に表示されます。

 また、現在アクティブになっている文書ウィンドウ名の横にチェックマークが表示されます。アクティブにしたい文書ウィンドウを選択してください。


# Win Help 目次

 

 ウインドウヘルプの目次を表示します。

 Windows8 以降ではサポート停止HHAU_TO_USEになっています。

 

 

 


# HTML Help 目次

 

 HTMLヘルプを表示します。

 Windows7 以降ではこのタイプのヘルプとするように仕様が変更HHAU_TO_USEになりました。


# HP Type Help 目次

 

 ホームページタイプのヘルプの目次を表示します。

 Win Help(Windows7まで) から HTML Hel;p(Windows7以降) への移行は面倒な作業H_MAKE_HTMLHELPが必要なので、この Hhelpアプリケーションで簡単に作成できる独自のヘルプ機能HHELP_HPTYPEを作りました。

 参考にしてください。

 


# ホームページ

 

 ホームページを表示します。

 

http://hp.vector.co.jp/authors/VA035301/

 


# [バージョン情報...] コマンド

 

 バージョンや版権などについての情報を表示します。


#$ [状況依存のヘルプ] コマンド

 

 

 

 さまざまな部分についてのヘルプ情報を表示します。

 ツールバーの [状況依存のヘルプ] ボタンを選択すると、マウス ポインタの形が矢印と疑問符を組み合わせたものに変わります。

 この状態で、ツールバーの他のボタンなど ウィンドウの部分をクリックすると、その部分に対応するヘルプ情報が表示されます。

 

 この機能は Windows8 以降では使えません。

 

キーボード:       SHIFT+F1


# [HP依存のヘルプ] コマンド

 

 

 

 主要なコマンドについてのヘルプ情報を表示します。

 ツールバーの [HP依存のヘルプ] ボタンを選択すると、マウスポインタの形が矢印と疑問符を組み合わせたものに変わります。

 この状態で、ツールバーの他のボタンなどをクリックすると、その部分に対応するヘルプ情報が表示されます。

 ただし、[表示]メニューと[ウィンドウ]メニューと[バージョン情報]には対応していません。

 テキスト画面を左ボタンでクリックすると元のマウスポインタ(矢印)に戻ります。

 

 Win Help の状況依存のヘルプHID_CONTEXT_HELP Windows8 以降では使えません。

 この Hhelpアプリケーションで実験的に作ってみたものです。

 このコマンドを働かせるためにはページ分割HID_SEPARATE_HTMLしたHTMLファイルをアプリケーションに添付HHELP_HPTYPEすることが必要です。

 

 下記例の関数を参考にしてください。

 

BOOL CMainFrame::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)

{

          //カーソル形状を指定する

          //IDC_ARROW IDC_CROSS IDC_IBEAM IDC_SIZEALL

          //IDC_SIZENEAW IDC_SIZENS IDC_SIZENWSE IDC_SIZEWE

          //IDC_UPPERROW IDC_WAIT IDC_HELP

          LPCTSTR lpszCursorName;

          if ( pApp->m_Cursor == CURSOR_HELP) lpszCursorName = IDC_HELP;

          if ( pApp->m_Cursor != CURSOR_NON)

          {

                   ::SetCursor( AfxGetApp()->LoadStandardCursor( lpszCursorName));

                   return TRUE;

          }

          return CMDIFrameWnd::OnSetCursor(pWnd, nHitTest, message);

}

 

void CHhelpApp::OnConthelpHp()

{

          //HPヘルプコンテキスト

          if ( m_Cursor == CURSOR_NON)

          {

                   m_Cursor = CURSOR_HELP;

          }

          else

          {

                   OpenHpHelp( "Help\\HID_CONTHELP_HP.htm");

                   m_Cursor = CURSOR_NON;

          }

}

 

void CHhelpView::OnLButtonUp(UINT nFlags, CPoint point)

{

          //文字画面をクリックすると矢印カーソルーに戻る

          pApp->m_Cursor = CURSOR_NON;

          CEditView::OnLButtonUp(nFlags, point);

}

 

void CHhelpDoc::OnFileClose()

{

          //閉じるコマンド

          if ( pApp->m_Cursor == CURSOR_HELP)

          {

                   pApp->OpenHpHelp( "Help\\HID_FILE_CLOSE.htm");

                   pApp->m_Cursor = CURSOR_NON;

                   return;

          }

          CDocument::OnFileClose();

}

・・・・・・・・・・・・・・・・・・・・・

・・・・・・・・・・・・・・・・・・・・・

・・・・・・・・・・・・・・・・・・・・・

 

 


# タイトルバー

 

 ウィンドウ上端のアプリケーション名や文書名が表示される部分です。

 

 タイトルバーをドラッグして、ウィンドウを移動できます。

 ダイアログ ボックスにもタイトルバーがあり、ドラッグして移動することができます。

 


# スクロールバー

 

 文書ウィンドウの右端に表示されます。

 スクロールバーの中のスクロールボックスは、文書中の現在の位置を示します。

 マウスを使うと文書内の他の部分へスクロールすることができます。

 


# [サイズ変更]

 

 マウスカーソルをウィンドウの端に合わせる)すると、マウスポインタが上下左右に矢印の付いた形   に変わります。

 マウスポインタの形が変わった後にマウスの左ボタンを押して移動します。

 

 このコマンドはウィンドウが最大表示されているときには使用できません。

 

 


# [移動]

 

 このコマンドを選択するとマウスポインタが上下左右に矢印の付いた形   に変わります。

 

 このコマンドはウィンドウが最大表示されているときには使用できません。

 

 


#$ [アイコン化]

 

 ウィンドウをアイコン化して表示します。

 

 マウスで タイトルバーの  をクリックします。

 


# [最大表示] コマンド

 

 作業中のウィンドウを使用可能なスペースいっぱいに拡大します。

 

マウスで タイトルバーの  をクリックするか、タイトルバーをダブルクリックします。

 


# [閉じる]

 

 作業中のウィンドウかダイアログ ボックスを閉じます。

 

 コントロールメニューボックスをダブルクリックしても閉じることができます。

 

         

 

                            
# [元のサイズに戻す]

 

 最大表示、またはアイコン化されたアクティブ ウィンドウを以前のサイズおよび位置に戻します。

 

 
# ヘルプ項目がありません

 

 ウィンドウのこの領域のヘルプ情報はありません。


# ヘルプ項目がありません

 

 このメッセージ ボックスに関するヘルプ情報はありません。

 

 

 

 



# H_PROLOGUE

# HHAU_TO_USE

# HFILE_HTML_ALL

# HHTML_HELP_WORKSHOP

# HHELP_HPTYPE

# HFILE_HTML_FOR

# HPIC_TO_PNG

# HFILE_CNT

# HFILE_LISTTITLE

# HMAKE_HELPCOM

# H_MAKE_HTMLHELP

# HEDIT_CNT

# HNO_TOOL

# HWIN_HELP_UPDATE

# HMENU_FILE

# HMENU_EDIT

# HMENU_HTML

# HMENU_VIEW

# HMENU_WINDOW

# NMENU_HELP

# HID_PREP_A

# HID_PREP_B

# HID_PREP_C

# HID_PREP_D

# HID_PREP_E

# HID_SEPARATE_HTML

# HID_SEPARATE_HP

# HVER_0100

# HID_FILE_NEW

K ファイル: 管理

$ [新規作成] コマンド

# HID_FILE_OPEN

K ファイル: 管理

$ [開く...] コマンド

# AFX_HIDD_FILEOPEN

# HID_FILE_CLOSE

K ファイル: 管理

$ [閉じる] コマンド

# HID_FILE_SAVE

K ファイル: 管理

$ [上書き保存] コマンド

# HID_FILE_SAVE_AS

K ファイル: 管理

$ [名前を付けて保存...] コマンド

# AFX_HIDD_FILESAVE

# HID_APP_EXIT

K 作業の終了

$ [終了] コマンド

# HID_EDIT_UNDO

# HID_EDIT_CUT

# HID_EDIT_COPY

# HID_EDIT_PASTE

# HID_VIEW_TOOLBAR

K ツールバー

$ [ツールバー] コマンド

# AFX_HIDW_TOOLBAR

K ツールバー

$ ツールバー

# HID_VIEW_STATUS_BAR

K ステータスバー

$ [ステータス バー] コマンド

# AFX_HIDW_STATUS_BAR

K ステータスバー

$ ステータスバー

# HID_WINDOW_NEW

# HID_WINDOW_CASCADE

# HID_WINDOW_TILE

# HID_WINDOW_ARRANGE

# HID_WINDOW_ALL

# HID_HELP_FINDER

# HID_HELP_HTML

# HID_HELP_HPTYPE

# HID_URL

# HID_APP_ABOUT

# HID_CONTEXT_HELP

$ [状況依存のヘルプ] コマンド

# HID_CONTHELP_HP

# HID_HT_CAPTION

# scrollbars

# HID_SC_SIZE

# HID_SC_MOVE

# HID_SC_MINIMIZE

$ [アイコン化] コマンド

# HID_SC_MAXIMIZE

# HID_SC_CLOSE

# HID_SC_RESTORE

# HID_HT_NOWHERE

# AFX_HIDP_default