![]() |
Dialog wird an falscher Stelle angezeigt
Delphi-Quellcode:
Mit diesem Code kann man einen Dialog mit den neuesten Features anzeigen...
function OpenSaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string; IsOpenDialog: Boolean): Boolean;
var ofn: TOpenFileName; szFile: array[0..MAX_PATH] of Char; begin Result := False; FillChar(ofn, SizeOf(TOpenFileName), 0); with ofn do begin lStructSize := SizeOf(TOpenFileName); hwndOwner := ParentHandle; lpstrFile := szFile; nMaxFile := SizeOf(szFile); if (Title <> '') then lpstrTitle := PChar(Title); if (InitialDir <> '') then lpstrInitialDir := PChar(InitialDir); StrPCopy(lpstrFile, FileName); lpstrFilter := PChar(CharReplace(Filter, '|', #0)+#0#0); if DefExt <> '' then lpstrDefExt := PChar(DefExt); end; if IsOpenDialog then begin if GetOpenFileName(ofn) then begin Result := True; FileName := StrPas(szFile); end; end else begin if GetSaveFileName(ofn) then begin Result := True; FileName := StrPas(szFile); end; end end; Leider wird der Dialog ganz unten rechts und nicht in der Mitte angezeigt :( Wie kann ich erreichen, dass er in der Mitte gezeigt wird? |
Re: Dialog wird an falscher Stelle angezeigt
Hi!
Ich wollte deinen Code mal testen, werde allerdings mit Fehlermeldungen überhäuft. Was muss noch in die Uses? Zitat:
|
Re: Dialog wird an falscher Stelle angezeigt
Delphi-Quellcode:
mfG
uses Windows, Messages
mirage228 |
Re: Dialog wird an falscher Stelle angezeigt
Liste der Anhänge anzeigen (Anzahl: 1)
HI!
@Mirage228: Gehts dann bei dir? Die 2 sind nämlich drin und es geht nicht. Ich häng meine Pas mal an. Ciao fkerber |
Re: Dialog wird an falscher Stelle angezeigt
Ähm, sorry!
Es muss die Unit "CommDlg" sein. (Wie in Luckies Win32API Tuts beschrieben, Seite 43 ff.) Ausserdem habe ich die Funktion CharReplace nicht, ich habe sie durch StringReplace ersetzt. mfG mirage228 |
Re: Dialog wird an falscher Stelle angezeigt
Hi!
Danke für die Antwort @mirage. @Kinimod: Bei mir wird der Dialog schön in der Mitte angezeigt, so wie es wohl sein sollte. Ciao fkerber |
Re: Dialog wird an falscher Stelle angezeigt
Ist ja komisch...
Bei mir gehts nicht so :( |
Re: Dialog wird an falscher Stelle angezeigt
Oops :oops:
ich habe ein wenig vom Code weggelassen... Vollständig ![]() Hilft aber trotzdem nicht weiter :wall: |
Re: Dialog wird an falscher Stelle angezeigt
Moin, ah N´abend
Also, würde mal bei Borland schauen ob es für D3 dort Updates gibt. Das scheint doch was mit der internen Organisation zu tun haben. Sonst kannst Du nur über das Windows-Handle die Position des Dialogs neu setzen. Grüße // Martin |
Re: Dialog wird an falscher Stelle angezeigt
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz