ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
2819
2819
EMPFEHLEN
-
So funktioniert es schonmal nicht

Alles funktioniert bis auf den Titel da steht nur der std. Text und nicht das was ich willCode :1 2 3 4 5 6 7
CFileDialog ldFile(TRUE, "exe", "VailooMon", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "VailooMon executable (*.exe)|*.exe||"); ldFile.SetWindowText("VailooMon.exe Pfad angeben"); if (ldFile.DoModal() == IDOK) { m_VailooMonPath = ldFile.GetPathName(); returnValue = true; }
Wie kann ich es erreichen dass da im titel das steht was ich will
-
27.02.06 19:23 #2
- Registriert seit
- Jun 2005
- Ort
- Bad Arolsen (Hessen)
- Beiträge
- 556
Hi,
du mußt am Besten einen File-Dialog von CFileDialog ableiten. Dort kannst du dann OnInitDialog überschreiben und in dieser Funktion den Titeltext setzen. Beachte aber, daß CFileDialog aus zwei Fenstern zusammengesetzt ist und der Titel zum Parent-Fenster gehört. Du mußt in OnInitDialog also schreiben
Vielleicht funktioniert es aber auch mitCode :1
GetParent()->SetWindowText(meinTitel);
Dann sparst du dir das Ableiten. Das ist aber nicht getestet.Code :1
ldFile.GetParent()->SetWindowText(meinTitel);
Mfg
langerGeändert von langer1801 (27.02.06 um 19:37 Uhr)
-
CFileDialog hat einen member "m_ofn", der auf eine Struktur OPENFILENAME verweist.
Hier kannst du den Dialog recht gut konfigurieren. Der Member "lpstrTitle" ist für den Titel des Dialogs zuständig.
Mit ...
Code :1 2 3 4 5 6 7 8 9 10
CFileDialog ldFile( TRUE, "exe", "VailooMon", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "VailooMon executable (*.exe)|*.exe||"); ldFile.m_ofn.lpstrTitle = "VailooMon.exe Pfad angeben"; if (ldFile.DoModal() == IDOK) { m_VailooMonPath = ldFile.GetPathName(); returnValue = true; }
... sollte es funktionieren.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Tausend Dank euch beiden

Werde es gleich mal ausprobieren.
@MCoder
Woher weißt du sowas?
Wo kann man das z.B. nachlesen?
In der MSDN find ich sowas nicht...
Wo hat M$ solche Infos hinterlegt?
Es hat wunderbar funktioniert, nur das der Member m_pOFN von CFileDialog ein Pointer ist
Hast du wohl ausm Kopf geschrieben
Nicht schlecht
Vielen Dank nochmal!Code :1 2 3 4 5 6 7
CFileDialog ldFile(TRUE, "exe", "VailooMon", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "VailooMon executable (*.exe)|*.exe||"); ldFile.[COLOR="Red"]m_pOFN[/COLOR]->lpstrTitle = "VailooMon.exe Pfad angeben"; if (ldFile.DoModal() == IDOK) { m_VailooMonPath = ldFile.GetPathName(); returnValue = true; }Geändert von RuFFnEcK (27.02.06 um 23:49 Uhr)
-
Mini-Anmerkung:
Das war früher auch mal ein direktes Member. Das gab aber Probleme, als bei Windows 2000 die erweiterten FileDialoge eingeführt wurden (die mit der Placesbar links). Da hatte dann der Standard-MFC-Filedialog diese nicht.
Das Umbauen auf den Pointer hat das Problem behoben (Windows erkennt intern an der Grösse und ein paar Flags des OPENFILENAME-structs, welche Version des Dialoges angezeigt werden soll).
-
Auszug aus der MSDN:
Zitat von RuFFnEcK
===========================================================
CFileDialog::m_ofn
m_ofn is a structure of type OPENFILENAME.
Remarks
Use this structure to initialize the appearance of a File Open
or File Save As dialog box after it is constructed but before it
is displayed with the DoModal member function. For example, you
can set the lpstrTitle member of m_ofn to the caption you want
the dialog box to have.
For more information, see the OPENFILENAME structure
in the Platform SDK.
===========================================================
Also, bei mir heißt der member m_ofn und ist kein Pointer. Wurde wahrscheinlich bei irgendeiner MFC-Version mal geändert.
Zitat von RuFFnEcK
/edit
Habe gerade noch mal nachgeschaut: Im VS2005 stehen beide Varianten zur Verfügung (m_ofn und m_pOFN), in der MSDN ist allerdings nur der Member m_ofn dokumentiert (zumindest bei der CFileDialog-Klassenreferenz).
Gruß
MCoderGeändert von MCoder (28.02.06 um 08:44 Uhr)
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Ok hab gestern nur nach der Pointer Version gesucht und nicht gefundenAuszug aus der MSDN:Zitat von RuFFnEcK
Wo kann man das z.B. nachlesen?
In der MSDN find ich sowas nicht...
===========================================================
CFileDialog::m_ofn
m_ofn is a structure of type OPENFILENAME.
Remarks
Use this structure to initialize the appearance of a File Open
or File Save As dialog box after it is constructed but before it
is displayed with the DoModal member function. For example, you
can set the lpstrTitle member of m_ofn to the caption you want
the dialog box to have.
For more information, see the OPENFILENAME structure
in the Platform SDK.
===========================================================
Nunja am Ende muss man einfach lernen der MSDN die Informationen zu entlocken...
Mit der Suche komm ich meißt nicht all zu weit, die Begriffe die man bräuchte um etwas zu finden würden das Problem ja schon lösen
Dem nach zu urteilen was ihr beide da sagtet, denk ich dass sich das so entwickelt hat...Habe gerade noch mal nachgeschaut: Im VS2005 stehen beide Varianten zur Verfügung (m_ofn und m_pOFN), in der MSDN ist allerdings nur der Member m_ofn dokumentiert (zumindest bei der CFileDialog-Klassenreferenz).
Ich hab hier VS 2003 und da gibts nur die Pointer Version...
Ich denke zu erst haben se in 2003 den Member durch den Pointer ersetzt und
dadurch wiederum andere Probs verursacht,
um dann wieder in 2005 beide Versionen einzuführen.
Ihr habt mir alle sehr geholfen, vielen Dank nochmal für die Mühen!
Special Thanx 2 MCoder
Grüße
RuFF
-
Man muß nicht wissen wie es geht, sondern nur wo man es nachlesen kannNunja am Ende muss man einfach lernen der MSDN die Informationen zu entlocken...
-
Ich liebe Klugscheisser
Zitat von jokey2
Geändert von RuFFnEcK (14.03.06 um 15:14 Uhr)
Ähnliche Themen
-
Titel als Link setzen zur Infoseite
Von apa-most im Forum PHPAntworten: 21Letzter Beitrag: 01.06.10, 15:15 -
Fenster Titel verändern!
Von SCIPIO-AEMILIANUS im Forum C/C++Antworten: 4Letzter Beitrag: 07.11.07, 08:12 -
JFrame: Titel zeitgleich mit einer Tastatureingabe setzen
Von phanimade im Forum JavaAntworten: 4Letzter Beitrag: 29.06.07, 09:29 -
(ASP.NET)(VB.Net)Titel des Fenster auslesen
Von TheWolf im Forum ASPAntworten: 4Letzter Beitrag: 02.10.05, 10:57 -
Fenster Titel ändern MDI
Von bukem im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 11.02.05, 14:56





Zitieren
Login






