Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CFileDialog

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
17.05.2004, 23:48 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hiho..
ich würde gerne ein CFileDialog gerne für meine Zwecke misbrauchen und ein paar Messages umdefinieren... dazu müsste ich den ja ableiten oder?

könnte mir dabei mal jemand helfen. Ich muss zugeben ich hab noch nie ne abgelittene Klasse erstellt

also aussehen muss das ja irgendwie so

C++:
class MyFileDialog:public CFileDialog{

};


so da fängt mein problem schon an... wenn ich mich nicht irre werden beim ableiten die konstruktoren nicht übernommen... wie mach ich das in diesem fall das der quasi die konsturktoren von dem alten anbietet... selber neuschriben ist ja irgendwie ein problem da ich ja nicht weiss wie die alten implementiert sind...

bisher hab ichs so aufgerufen

C++:
CFileDialog savedlg(false,"txt","liste", OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, "Textfile(*.txt)|*.txt|Excelfile(*.xls)|*.xls|All Files (*.*)|*.*||");




und wenn das läuft zu meinem richtigen problem..
wenn du user den dateityp auswählt will ich den angezeigten dateinamen entsprechend ändern... welche nachricht muss ich da üebrschreiben und wie mach ich das für ein codebeispiel wäre ich echt äusserst dankbar
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.05.2004, 00:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ok das mit dem ableiten geht so

C++:
class MyFileDialog:public CFileDialog{
    public :
        MyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd=NULL) :CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd){}

};



allerdings wie kann ich denn den angezeigten filenamen noch nach dem konstruktoraufruf ändern... wenn das noch nichtmal geht kann ich mir das ganze ableiten und weiterbasteln auch sparen...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 18.05.2004 um 00:45 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.05.2004, 08:00 Uhr
~daDings
Gast


tschuldigung....
So ganz hab ich es nicht verstanden
Du willst vor dem DoModal() den Filenamen ändern, oder nach dem Klicken auf "öffnen"/"speichern"?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.05.2004, 11:03 Uhr
spaxx



na versuch doch einfach ne neue Funktion in deiner Klasse zu schreiben. ne SetFileName(CString name) oder so. und die rufst du dann halt irgendwo auf. Das ist doch deine Frage oder??? Bei abgeleiteten klassen kannst du ja das alte von der Basisklasse+das selbst geschriebene nutzen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.05.2004, 11:33 Uhr
~mike
Gast


Ableiten muss man ja nicht händisch. Nutz den Klassenassi dazu - der macht das zu 99% richtig
Also was den Dateinamen betrifft: da sollte GetDlgItem(0x480)->SetWindowText helfen.

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.05.2004, 12:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@daDings
äh nein nicht vor dem DoModal... sondern während der Dialog modal läuft...
wenn du z.b. auf die kombobox klickst und den dateityp änderst soll der angezeigte dateiname entsprechend abgeändert werden...
dazu muss ich noch irgend eine mehtode überschreiben weiss leider noch nicht welche

@spaxx
ja eine eigene Funktion zu schreibenlöst ja nicht das problem das ich die auch implementieren muss und das war ja die frage wie ich den text davon ändere... Ich vermute mal das mike die richtige Lösung dazu hat werd ich heute abend mal ausprobieren...

@mike
wehe deine Lösung stimmt nicht... dann nerv ich dich zur strafe 3 stunden über icq
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.05.2004, 13:28 Uhr
~AS
Gast


Hallo Windalf,

hast Du es schon mit den 'Overridables' versucht ohne die Klasse CFileDialog abzuleiten ?

Mit 'OnTypeChanged' könnte es funktionieren.

mfg
AS
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.05.2004, 13:59 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@AS

Zitat:

hast Du es schon mit den 'Overridables' versucht ohne die Klasse CFileDialog abzuleiten ?


öhm nein... wusste auch nicht das das überhaupt geht das man überschreiben kann ohne abzuleiten... Hab jetzt kein Zeit dafür werd mich heute abend damit bespassen...
wie meinst du das genau kannst du das mal mit ein klein wenig code skizieren was ich da alles machen muss?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.05.2004, 14:14 Uhr
~AS
Gast


@Windalf

sorry

Ich habe es noch nicht selbst ausprobiert. War nur so eine Idee beím Lesen der Hilfe.

Natürlich mußt Du ableiten. Fehler meinerseits.

mfg
AS
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.05.2004, 15:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Natürlich mußt Du ableiten. Fehler meinerseits.


Und ich hab schon gedacht ich peil gar nicht mehr...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 18.05.2004 um 15:00 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: