Zum Inhalt springen

Onlinehilfe in MFC einbauen


Kitty82

Empfohlene Beiträge

Hallo,

ich hab hier einen Dialog auf dem ich einen Button erstellt habe mit follgender ID = ID_HELP. Wenn ich mein Programm ausführe und den Button betätige, dann öffnet er mir natürlich eine leere Onlinehilfe. Wo trag ich ein, dass er meine und nicht seine leere Onlinehilfe öffnen soll?

Wäre für jeden Tipp dankbar,

Gruß Kitty

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry, den Titel hatte ich gar nicht so genau angesehen. :hells:

macht doch nix ;)

Hast du eine .chm oder ein .hlp?

habe eine .chm-Datei (mit hilfe von HTML Help Workshop erstellt)

Wie heißt die Datei und wo liegt sie?

Der Pfad genau willst wahrscheinlich gar nicht wissen. :confused: Die Datei liegt in einem anderen Verzeichnis als mein Programm. Habe meine Datei nie auswählen können. Seit Anfang an wählt er immer seine leere Onlinehilfe aus.

Hast du m_pszHelpFilePath der App-Klasse geändert?

Wußte nicht, dass ich's ändern muss. Wo finde ich die Variable?

Danke, für deine Hilfe!! :e@sy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wußte nicht, dass ich's ändern muss. Wo finde ich die Variable?

Musst du, wenn die Hilfedatei nicht im selben Verzeichnis wie die Exe steht. m_pszHelpFilePath ist eine Membervariable von CWinApp. In jeder MFC-Anwendung hast du eine von CWinApp abgeleitete Klasse, von der eine globale Instanz angelegt wird. Am besten setzt du den Wert in der InitInstance-Methode.
Link zu diesem Kommentar
Auf anderen Seiten teilen

geht doch noch nicht ...

wenn ich mein Programm ausführe und auf den Button klicke, meckert er mir an, dass die Datei keine Windows-Hilfe Datei ist. Er erkennt mein .chm-Format wahrscheinlich nicht. In MSDN als Bsp. wird auch .hlp benutzt. Kann es daran liegen, dass er es nicht öffnen mag?

Mein Problem ist, dass ich das .chm-Format einbinden muss. Also auf .hlp könnte ich nicht ausweichen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hat nicht geklappt, er kenn die Methode nicht.

Hab jetzt durch Glück das hier:

// Executable path -- module path

	HMODULE module = GetModuleHandle(0);

	char modulePath[1000];					

	GetModuleFileName ( module, modulePath, 1000 );

	string s1 = modulePath;

	int pos =s1.find("exe");

	s1.replace(pos,3,"chm");

	//String tmp = AfxGetAppName();

	//string tmp = AfxGetAppName();

	//String fileName = getDirectory(modulePath);

	//string fileName = getDirectory(modulePath);

	//fileName << tmp << ".chm";

	const char *S1 = s1.c_str();

	//CWnd *pWnd; 

	//pWnd = GetDesktopWindow();  


	HWND hwnd = 

	HtmlHelp(

			::GetDesktopWindow(),

            S1,

            HH_DISPLAY_TOPIC,

            NULL);	

//	HWND hwnd = GetDesktopWindow(); 

//	MessageBox("help","help",MB_OK);

hab noch htmlhelp.h und die .lib dazu included....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...