![]() |
Caption in TTaskDialog
Liste der Anhänge anzeigen (Anzahl: 2)
In einem TTaskdialog ist der Caption-String nur dann sichtbar, wenn mit den CommonButtons ein Cancel-Button deklariert wird. Dummerweise kann ich in diesem Dialog aber keinen Cancel - Button gebrauchen.
Delphi-Quellcode:
Ist das reguläres Verhalten oder mache ich etwas falsch?
function InsertGUID(FN:string): Integer;
begin result:= mrNO; with TTaskDialog.Create(NIL) do try Caption:= 'GUIDs einfügen'; MainIcon:= tdiShield; Title:= 'GUID in aktuelle Datei einfügen'; Text:= 'Soll eine GUID generiert und in die Datei "' + FN + '" geschrieben werden?'; commonButtons:= [tcbYes,tcbNo,tcbCancel]; // so funktioniert's //commonButtons:= [tcbYes,tcbNo]; // so funktioniert's nicht! flags:= [tfVerificationFlagChecked]; verificationtext:= 'Für alle folgenden Tracks übernehmen'; If Execute Then begin result:= modalresult; If tfVerificationFlagChecked in Flags Then result:= -result; end; finally Free; end; end; Gruß LP |
AW: Caption in TTaskDialog
Eigentlich nicht.
Vielleicht hängt es einfach von der Breite des Dialogs ab?
Delphi-Quellcode:
Text := 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...'
Oder nur Abbrechen, ohne Ja/Nein, also auch mit schmaleren Fenster. Sieht die Titelleiste nur auf den Bildern dünner/flacher aus? Könnte am Fensterstil liegen: mit Abbrechen gibt es ein [x] und damit wohl einen anderen Style. VCL oder WinAPI?
Delphi-Quellcode:
LatestCommonDialogs := False; // False = VCL emuliert diesen Dialog (mit einer TForm)
with TTaskDialog.Create(NIL) do |
AW: Caption in TTaskDialog
Zitat:
Und 'LatestCommonDialogs' müsste wohl 'UseLatestCommonDialogs' heißen. ;-) Gruß LP |
AW: Caption in TTaskDialog
Dieses Thema ist zwar schon alt, aber offensichtlich hat sich nichts geändert am Verhalten.
In Kombination mit Styles wird die Titelzeile nur angezeigt, wenn es einen "Abbruch-Button" gibt. Hat hierzu jemand inzwischen eventuell was rausgefunden ? |
AW: Caption in TTaskDialog
Gibt es dafür einen Bug-Report? Ich könnte dann einen Kommentar mit der Ursache und einem Lösungsvorschlag dazu schreiben.
|
AW: Caption in TTaskDialog
@Uwe Raabe:
Danke für deine Unterstützung. Nein einen offiziellen Report gab es noch nicht, aber jetzt habe ich das mal gemacht. |
AW: Caption in TTaskDialog
Liste der Anhänge anzeigen (Anzahl: 2)
Hier noch mal etwas vollständiger, damit man das besser Testen kann:
Code:
Das Ergebnis:
procedure TfrmMain.TestTaskDialog;
var TaskDialog: TTaskDialog; begin TaskDialog := TTaskDialog.Create(Self); try TaskDialog.Title := 'Titletext'; TaskDialog.Caption := 'Caption'; TaskDialog.Flags := [tfPositionRelativeToWindow, tfSizeToContent]; TaskDialog.CommonButtons := [tcbOk]; TaskDialog.ModalResult := MB_OK; TaskDialog.Execute; finally TaskDialog.Free; end; end; Ohne Style [Windows]: ![]() Mit Style: ![]() |
AW: Caption in TTaskDialog
Das Problem liegt in TSysDialogStyleHook.PaintNC. Dort wird TextRect mit TRect.Empty initialisiert und im weiteren Verlauf Left und Right an die anzuzeigenden Buttons angepasst. Werden nun gar keine Buttons rechts angezeigt verbleibt TextRect.Right bei 0 und es erfolgt keine Textausgabe.
|
AW: Caption in TTaskDialog
Vielen Dank Uwe,
dann kann ich da wohl nicht viel machen oder ? |
AW: Caption in TTaskDialog
Zitat:
Du kannst eventuell die ganze Unit Vcl.SysStyles in dein Projektverzechnis (neben die DPR) kopieren und die vorgeschlagene Änderung implementieren. Bei einem Wechsel der Delphi-Version muss das aber mit der dann gültigen Unit wiederholt werden. Wie aufwändig das genau ist kann ich auch nicht sagen. |
AW: Caption in TTaskDialog
Zitat:
Vielen Dank @Uwe Raabe :hello: |
AW: Caption in TTaskDialog
Zitat:
Falls ja, wo ist dann bitte die Rportnummer? Dann können wir uns den auch anschauen, verfolgen, abstimmen etc. Warum gibt's das immer wieder, dass Leute darüber schreiben einen Report erstellt zu haben, aber die Nummer/URL nicht posten? So müssen wir die immer erraten... ;-) :-( |
AW: Caption in TTaskDialog
|
AW: Caption in TTaskDialog
Zitat:
Ist irgend etwas darüber bekannt, wann evtl. mit einer Delphi 11 CE zu rechnen ist? Aber erfahrungsgemäß gibt es ja auch keine Garantie, dass der Fehler bis dahin tatsächlich behoben ist :( Gruß LP |
AW: Caption in TTaskDialog
Zitat:
Zitat:
Ich möchte aber nur mal erwähnen, dass bei zeitnaher Anlage eines entsprechenden Bugreports eventuell schon ein Fix in der 11.3 möglich gewesen wäre (wovon auch die kommende CE profitiert hätte). Das wäre zwar zeitlich schon recht sportlich gewesen und der Bug ist auch nicht wirklich kritisch, aber er ist relativ einfach zu beheben. Natürlich kann ich manchen Frust verstehen, der bei den z.T. exorbitant langen Laufzeiten mancher Bugs in QP aufkommen kann. Deswegen aber das Handtuch zu schmeißen und keine Bugs mehr anzulegen kann einfach keine Lösung sein. Die Wahrscheinlichkeit eines (schnellen) Bugfixes in QP ist im Schnitt vielleicht recht klein, aber sie ist noch sehr viel kleiner für Bugs die nicht in QP stehen. |
AW: Caption in TTaskDialog
Zitat:
Leute Reports hier erwähnen aber nicht deren Nummern. Was ja offensichtlich wenig nützlich für uns Leser ist, außer wir haben eine Glaskugel oder investieren die Zeit für eine Suche. Wobei der jeweilige Poster diese Daten ja sicher i.d.R. parat hätte... ;-) |
AW: Caption in TTaskDialog
Nun bin ich mir ein wenig unsicher ob es ein Bug ist, oder eben auch nicht.
So wie ![]()
Code:
Somit ist das glaube ich auch abgehandelt.
Flags := [tfAllowDialogCancellation, ...];
Vielen Dank an Alle die mitgewirkt haben. @TurboMagic: Ich gelobe Besserung und poste nächstes mal die Reportnummer dazu :-D |
AW: Caption in TTaskDialog
Zitat:
|
AW: Caption in TTaskDialog
VCL-Styles :wall:
Einfaches Beispiel (11.3 Patch 1 im Windows 11) * alles schließen * Datei > Neu > VCL Formular * Datei > Neu > VCL Anwendung und achtet dabei mal auf den Header sowie StyleName nicht zugewiesen * Formular ohne App : Aktiv/Selektiert = Weiß mit schwarzem Text / Inaktiv = Weiß mit grauem Text * Formular mit App : Aktiv/Selektiert = Grau mit weißem Text / Inaktiv = Weiß mit grauem Text * außerdem eckig * zur Laufzeit abgerundet * ohne Styles : Aktiv/Selektiert = Bläulich mit schwarzem Text / Inaktiv = Gräulich mit grauem Text * mit "Windows" Style : wie Ohne * eckig (wie im Designer) * mit "Windows 10" Style : Aktiv/Selektiert = Grau mit schwarzem Text und bläulichem Rahmen / Inaktiv = Dunklgrauer mit grauem Text und ohne Rahmen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 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