![]() |
Delphi-Version: 7
Titelleiste / Rahmen der MessageDlg ausblenden
hallo,
weiss jemand einen code um den windowsrahmen bei der ausgabe von "MessageDlg" zu ändern bzw. wegzubekommen? ![]() mfg |
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Kann sein, dass ich Mist erzähle, aber du musst den Dialog "selber" erstellen.
Minimales Beispiel: (das ist ein cut-out aus meiner eigenen, viel umfangreicheren Funktion. Die Funktion gibt einen Wert zurück, sodass man auf den Dialog reagieren kann)
Delphi-Quellcode:
function MsgBox(psCaption: string; psText: string; nHeigth: Integer; aMsgDlgType: TMsgDlgType; aMsgDlgBtn: TMsgDlgButtons; aMsgDlgBtnDef: TMsgDlgBtn): Integer;
var iModalRes: Integer; aMsgDialog: TForm; // vergessen hinzuzufügen begin iModalRes := ID_NO; aMsgDialog := CreateMessageDialog(psText, aMsgDlgType, aMsgDlgBtn, aMsgDlgBtnDef); with aMsgDialog do begin BringToFront; Caption := psCaption; ClientHeight := nHeigth; BorderIcons := []; // Keine Border-Icons BorderStyle := bsNone; // Keine Titelleiste FormStyle := fsStayOnTop; Top := (Screen.Height div 2) - (Height div 2); SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); iModalRes := ShowModal; Free; end; Result := iModalRes; end; // Aufruf: case MsgBox('Caption', 'Text', 100, mtInformation, [mbYes, mbNo, mbClose], mbNo) of ID_YES: ; ID_NO: ; ID_CLOSE: ; end; |
AW: Titelleiste / Rahmen der MessageDlg ausblenden
das ist doch für die message box oder...
ich meine aber die MessageDlgPos. einfach was mit in den aufruf rein oder so. bei der form geht der windowsrahmen mit dem code weg. ![]() mfg |
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Wenn der Standard-MessageDlg so eine Option nicht bietet, muss man sich eben selbst etwas schreiben. Wie das geht, sollte der gepostete Code aufzeigen.
|
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Zitat:
|
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin mal so frei :mrgreen:
|
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Zitat:
|
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Zitat:
Mein geposteter Code zeigt wie. |
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Zitat:
und wie bekomme ich den code in den aufruf von der TApplication eines buttons. wenn das bei dir in einer leeren form geht, kannst die mir mal posten. mfg |
AW: Titelleiste / Rahmen der MessageDlg ausblenden
Liste der Anhänge anzeigen (Anzahl: 1)
Beispiel mit ausführbarer EXE im Anhang.
Um das Beispiel noch einfacher zu machen das alles noch einmal als Prozedur und nicht als Funktion.
Delphi-Quellcode:
procedure MsgBox(psCaption: string; psText: string; nHeigth: Integer; aMsgDlgType: TMsgDlgType; aMsgDlgBtn: TMsgDlgButtons; aMsgDlgBtnDef: TMsgDlgBtn);
var aMsgDialog: TForm; // versehentlich vergessen .. begin aMsgDialog := CreateMessageDialog(psText, aMsgDlgType, aMsgDlgBtn, aMsgDlgBtnDef); with aMsgDialog do begin BringToFront; Caption := psCaption; ClientHeight := nHeigth; BorderIcons := []; // Keine Border-Icons BorderStyle := bsNone; // Keine Titelleiste FormStyle := fsStayOnTop; Top := (Screen.Height div 2) - (Height div 2); SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); Free; end; end; // Aufruf: MsgBox('Caption', 'Text', 100, mtInformation, [mbYes, mbNo, mbClose], mbNo); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 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