Thema: Delphi Position von Dialog

Einzelnen Beitrag anzeigen

Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Position von Dialog

  Alt 27. Feb 2008, 20:18
Mach ich da was falsch habe es jetzt mal mit dem Color dialog versuch aber irgenwie will das net so

Delphi-Quellcode:

var
  Form6: TForm6;
  OldProcForOpenSaveDialog: DWord;

implementation
.
.
.
.

function DialogProc(Handle: HWND; Msg: DWORD; wParam, lParam: Integer):Integer; stdcall;
const
  W = 683;
  H = 512;
begin
  if MSG = WM_SHOWWINDOW then Begin
    SendMessage(Handle, WM_COMMAND, $A004, 0);
    SendMessage(Handle, WM_COMMAND, $A004, 0);
    SetWindowPos(Handle, 0,
    Form6.Left + (Form6.Width div 2) - (W div 2),
    Form6.Top + (Form6.Height div 2) - (H div 2),
    W,
    H,
    0);
  End;
  Result := CallWindowProc(Pointer(OldProcForOpenSaveDialog), Handle, Msg, wParam, lParam);
end;

procedure TForm6.ColorDialog1Close(Sender: TObject);
var Handle: HWND;
begin
  Handle := GetParent((Sender as TColorDialog).Handle);
  SetWindowLong(Handle, DWL_DLGPROC, Integer(OldProcForOpenSaveDialog));
  OldProcForOpenSaveDialog := 0;
end;

procedure TForm6.ColorDialog1Show(Sender: TObject);
var Handle: HWND;
begin
  Handle := GetParent((Sender as TColorDialog).Handle);
  OldProcForOpenSaveDialog := GetWindowLong(Handle, DWL_DLGPROC);
  SetWindowLong(Handle, DWL_DLGPROC, Integer(@DialogProc));
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat