Veröffentlicht 15. Februar 200520 j 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
15. Februar 200520 j Sprichst du von Windows und MFC? Es wäre gut, wenn du so etwas immer gleich angibst.
15. Februar 200520 j Hi Klotzkopp, ja spreche von Windows und MFC. Dachte es genügt, wenn ich es im Titel so erwähne
15. Februar 200520 j 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?
15. Februar 200520 j 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
15. Februar 200520 j 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.
15. Februar 200520 j ach sooo.... bin wieder ein bisschen schlauer :cool: werde es gleich testen und ausprobieren. nochmals vielen dank! hasch mir einige nerven erspart!
15. Februar 200520 j 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!
15. Februar 200520 j Stimmt, du hast ja eine chm. Dann musst du im Konstruktor deiner App-Klasse EnableHtmlHelp() aufrufen.
15. Februar 200520 j 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....
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.