000
07.02.2006, 09:27 Uhr
commanderberry
|
Hallo,
irgendwie öffnet meine SDI-Anwendung Dateien nicht mehr per Doppelklick.. Und ich habe keine Ahnung woran es liegt..
Soweit ich das sehe, stimmen die Einträge in der Registry, die Anwendung wird ja auch ausgeführt, nur die Dateien (vom Typ ".log") werden nicht geladen..
Hier mal meine InitInstance():
C++: |
BOOL CCompApp::InitInstance() { // Register the application's document templates. Document templates // serve as the connection between documents, frame windows and views. CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CCompDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(testview)); AddDocTemplate(pDocTemplate);
// Enable DDE Execute open EnableShellOpen(); RegisterShellFileTypes(TRUE);
// Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo);
// Dispatch commands specified on the command line if (!ProcessShellCommand(cmdInfo)) return FALSE;
// The one and only window has been initialized, so show and update it. m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow();
// Enable drag/drop open m_pMainWnd->DragAcceptFiles(); return TRUE; }
|
Das Verhalten ist folgendes: Beim Doppelklick auf eine Datei (wie auch im normalen Programmstart) wird ein leeres Dokument erzeugt. Hier kann ich dann "ganz normal" Über File->Open bzw. Drag+Drop Log-Dateien einfügen die dann in die Listview einsortiert werden..
Ich denke ich muss irgendeine Methode überschreiben, um zu erreichen, dass die "doppeltgeklickte" datei anschließend geöffnet wird, aber welche?
Vielen Dank schonmal!
Gruß Berry |