Kitty82 Geschrieben 15. Februar 2005 Geschrieben 15. Februar 2005 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 Zitieren
Klotzkopp Geschrieben 15. Februar 2005 Geschrieben 15. Februar 2005 Sprichst du von Windows und MFC? Es wäre gut, wenn du so etwas immer gleich angibst. Zitieren
Kitty82 Geschrieben 15. Februar 2005 Autor Geschrieben 15. Februar 2005 Hi Klotzkopp, ja spreche von Windows und MFC. Dachte es genügt, wenn ich es im Titel so erwähne Zitieren
Klotzkopp Geschrieben 15. Februar 2005 Geschrieben 15. Februar 2005 Sorry, den Titel hatte ich gar nicht so genau angesehen. :hells: Hast du eine .chm oder ein .hlp? Wie heißt die Datei und wo liegt sie? Hast du m_pszHelpFilePath der App-Klasse geändert? Zitieren
Kitty82 Geschrieben 15. Februar 2005 Autor Geschrieben 15. Februar 2005 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 Zitieren
Klotzkopp Geschrieben 15. Februar 2005 Geschrieben 15. Februar 2005 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. Zitieren
Kitty82 Geschrieben 15. Februar 2005 Autor Geschrieben 15. Februar 2005 ach sooo.... bin wieder ein bisschen schlauer :cool: werde es gleich testen und ausprobieren. nochmals vielen dank! hasch mir einige nerven erspart! Zitieren
Kitty82 Geschrieben 15. Februar 2005 Autor Geschrieben 15. Februar 2005 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! Zitieren
Klotzkopp Geschrieben 15. Februar 2005 Geschrieben 15. Februar 2005 Stimmt, du hast ja eine chm. Dann musst du im Konstruktor deiner App-Klasse EnableHtmlHelp() aufrufen. Zitieren
Kitty82 Geschrieben 15. Februar 2005 Autor Geschrieben 15. Februar 2005 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.... Zitieren
Empfohlene Beiträge
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.