Re[5]: Открыть HTMLHelp топик по ID
От: MaxMP Россия  
Дата: 29.04.03 13:26
Оценка: 46 (6)
N>Дык сюда конечно — я наверное не один такой
N>Только самое необходимое — вызов то есть. И объясни как ты этот ID в хелпе прописываешь.

test.hhp
[OPTIONS]
Compatibility=1.1 or later
Compiled file=test.chm
Contents file=testToc.hhc
Default topic=index.html
Display compile progress=Yes
Language=0x409 English (United States)


[ALIAS]
ID_page1=page1.html
ID_page2=page2.html

[MAP]
#define ID_page1 1000
#define ID_page2 1001


testToc.hhc
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
    <param name="ImageType" value="Folder">
</OBJECT>
<UL>
    <LI> <OBJECT type="text/sitemap">
        <param name="Name" value="Test">
        </OBJECT>
    <UL>
        <LI> <OBJECT type="text/sitemap">
            <param name="Name" value="Index">
            <param name="Local" value="index.html">
            </OBJECT>
        <LI> <OBJECT type="text/sitemap">
            <param name="Name" value="Page 1">
            <param name="Local" value="page1.html">
            </OBJECT>
        <LI> <OBJECT type="text/sitemap">
            <param name="Name" value="Page 2">
            <param name="Local" value="page2.html">
            </OBJECT>
    </UL>
</UL>
</BODY></HTML>


index.html, page1.html, page2.html
— с любым содержанием

help.cs
using System;
using System.Diagnostics;
using System.Windows.Forms;

public class TestForm : Form
{
    public TestForm()
    {
        Button button1 = new Button();
        button1.Text = "1";
        button1.Tag = 1000;
        button1.Click += new EventHandler(Button_Click);
        Controls.Add(button1);

        Button button2 = new Button();
        button2.Text = "2";
        button2.Tag = 1001;
        button2.Left = button1.Width;
        button2.Click += new EventHandler(Button_Click);
        Controls.Add(button2);
    }

    public static void Main()
    {
        Application.Run(new TestForm());
    }

    private void Button_Click(object sender, EventArgs e)
    {
        Help.ShowHelp(this, "test.chm", (HelpNavigator)0x0F, ((Button)sender).Tag); // недокументированная возможность, 0x0F == HH_HELP_CONTEXT.
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.