AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Titelleiste / Rahmen der MessageDlg ausblenden

Ein Thema von 010101 · begonnen am 30. Nov 2014 · letzter Beitrag vom 2. Dez 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von 010101
010101

Registriert seit: 27. Nov 2014
34 Beiträge
 
#1

Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 30. Nov 2014, 16:23
Delphi-Version: 7
hallo,


weiss jemand einen code um den windowsrahmen bei der ausgabe von "MessageDlg" zu ändern bzw. wegzubekommen?

http://picload.org/image/coccwoc/rahmen.png

mfg

Geändert von 010101 (30. Nov 2014 um 16:26 Uhr)
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#2

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 30. Nov 2014, 21:45
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;

Geändert von dGeek ( 1. Dez 2014 um 15:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von 010101
010101

Registriert seit: 27. Nov 2014
34 Beiträge
 
#3

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 09:46
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.

http://www.delphipraxis.net/379391-post1.html


mfg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 10:13
Wenn der Standard-MessageDlg so eine Option nicht bietet, muss man sich eben selbst etwas schreiben. Wie das geht, sollte der gepostete Code aufzeigen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von 010101
010101

Registriert seit: 27. Nov 2014
34 Beiträge
 
#5

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 15:12
Delphi-Quellcode:
function MsgBox(psCaption: string; psText: string; nHeigth: Integer; aMsgDlgType: TMsgDlgType; aMsgDlgBtn: TMsgDlgButtons; aMsgDlgBtnDef: TMsgDlgBtn): Integer;
var
  iModalRes: Integer;
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;

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
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#6

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 15:21
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);
Angehängte Dateien
Dateityp: zip Custom Message Dialog.zip (701,0 KB, 16x aufgerufen)

Geändert von dGeek ( 1. Dez 2014 um 15:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von 010101
010101

Registriert seit: 27. Nov 2014
34 Beiträge
 
#7

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 15:54
ja genau so hab ich das gemeint. kann zwar das project1 nicht öffnen hab aber die exe mal gestartet.

danke dir.

mfg
  Mit Zitat antworten Zitat
Benutzerbild von 010101
010101

Registriert seit: 27. Nov 2014
34 Beiträge
 
#8

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 16:42
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);
kannst du bitte dein project noch mal nachsehen, damit ich es mit delphi 7 auch öffnen kann.


gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.279 Beiträge
 
Delphi 12 Athens
 
#9

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 17:10
Könntest du eventuell den Fehler auch benennen?
> Warum bekommst du das Projekt nicht auf.


PS: Strg+C funktioniert auch in Fehler-Dialogen. (als Text)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#10

AW: Titelleiste / Rahmen der MessageDlg ausblenden

  Alt 1. Dez 2014, 22:43
Müsste jetzt eigentlich funktionieren.
Denn jetzt ist wirklich alles gekürzt wo es nur geht..

Wie sieht denn deine Fehlermeldung aus, warum kannst du das nicht öffnen?
Angehängte Dateien
Dateityp: zip Project1 - D7.zip (619,4 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:18 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