AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Dialog wird an falscher Stelle angezeigt
Thema durchsuchen
Ansicht
Themen-Optionen

Dialog wird an falscher Stelle angezeigt

Ein Thema von Kinimod8 · begonnen am 7. Mär 2004 · letzter Beitrag vom 9. Mär 2004
Antwort Antwort
Seite 1 von 3  1 23      
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#1

Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 08:26
Delphi-Quellcode:
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;
Mit diesem Code kann man einen Dialog mit den neuesten Features anzeigen...

Leider wird der Dialog ganz unten rechts und nicht in der Mitte angezeigt
Wie kann ich erreichen, dass er in der Mitte gezeigt wird?
Dominik Peters
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 10:28
Hi!

Ich wollte deinen Code mal testen, werde allerdings mit Fehlermeldungen überhäuft.
Was muss noch in die Uses?

Zitat von Delphi:
[Fehler] Unit1.pas(38 ): Undefinierter Bezeichner: 'TOpenFileName'
[Fehler] Unit1.pas(45 ): Undefinierter Bezeichner: 'lStructSize'
[Fehler] Unit1.pas(46 ): Undefinierter Bezeichner: 'hwndOwner'
[Fehler] Unit1.pas(47 ): Undefinierter Bezeichner: 'lpstrFile'
[Fehler] Unit1.pas(48 ): Undefinierter Bezeichner: 'nMaxFile'
[Fehler] Unit1.pas(50 ): Undefinierter Bezeichner: 'lpstrTitle'
[Fehler] Unit1.pas(52 ): Undefinierter Bezeichner: 'lpstrInitialDir'
[Fehler] Unit1.pas(54 ): Undefinierter Bezeichner: 'lpstrFilter'
[Fehler] Unit1.pas(54 ): Undefinierter Bezeichner: 'CharReplace'
[Fehler] Unit1.pas(56 ): Undefinierter Bezeichner: 'lpstrDefExt'
[Fehler] Unit1.pas(60 ): Undefinierter Bezeichner: 'GetOpenFileName'
[Fehler] Unit1.pas(68 ): Undefinierter Bezeichner: 'GetSaveFileName'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 10:40
uses Windows, Messages mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 10:48
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
Angehängte Dateien
Dateityp: pas unit1_109.pas (1,9 KB, 5x aufgerufen)
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 11:59
Ä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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 12:05
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
Frederic Kerber
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#7

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 18:07
Ist ja komisch...

Bei mir gehts nicht so
Dominik Peters
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#8

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 18:13
Oops
ich habe ein wenig vom Code weggelassen...

Vollständig hier

Hilft aber trotzdem nicht weiter
Dominik Peters
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#9

Re: Dialog wird an falscher Stelle angezeigt

  Alt 7. Mär 2004, 18:21
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
Martin Schaefer
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#10

Re: Dialog wird an falscher Stelle angezeigt

  Alt 8. Mär 2004, 06:53
Zitat von mschaefer:
Sonst kannst Du nur über das Windows-Handle die Position des Dialogs neu
setzen.
Und wie geht das genau
Dominik Peters
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz