![]() |
Zeilenumbruch verbessern
Wie kann man das besser lesbar machen.. Mich stören die vielen "#13#10"
Delphi-Quellcode:
Gibt es da keine andere Art der Formatierung für die Umbrüche?
sYear := FormatDateTime('yyyy', Date);
MessageStr := 'Version 1.00' + #13#10#13#10 + 'Author Not Yet' + #13#10 + 'copyright (c) ' + sYear + #13#10 + 'wwww.yourweb.com' + #13#10#13#10#13#10#13#10#13#10#13#10#13#10 + 'SK_AERO Library' + #13#10 + 'BrewIdeas©Emil Weiss'; bsp. n\n\n\\n gruss |
AW: Zeilenumbruch verbessern
Zitat:
Was man natürlich machen kann ist innerhalb der Konstante einen Platzhalter zu verwenden, z. B. "|". Denn muß man dann per StringReplace durch einen Zeilenumbruch ersetzen, bevor man den String irgendwo verwendet.
Delphi-Quellcode:
const BreakPlaceholder = '|'; Version = 'Version 1.00||Author Not Yet|copyright (c) %s|wwww.yourweb.com' + '|||||||SK_AERO Library|BrewIdeas©Emil Weiss'; function MakeMultilineText(const aTemplate: string): string); begin result := StringReplace(aTemplate, BreakPlaceholder, sLinebreak, [rfReplaceAll]); end; ... sYear := FormatDateTime('yyyy', Date); MessageStr := Format(MakeMultilineText(Version),[sYear]); |
AW: Zeilenumbruch verbessern
Danke Peter sieht gut aus werde das mal testen.
PS: Funktioniert Super.. Macht zwar das gleiche ;) ist aber lesbarer\Verständlicher. gruss |
AW: Zeilenumbruch verbessern
Wer gibt denn die Message aus?
Je nachdem kannst Du z.B. den VT (x0B) verwenden. Gruß K-H |
AW: Zeilenumbruch verbessern
Wie wäre es denn mit sowas?
Delphi-Quellcode:
const
csVersion = 'Version 1.00%1:s%1:sAuthor Not Yet%1:scopyright (c) %0:s%1:swwww.yourweb.com' + '%1:s%1:s%1:s%1:s%1:s%1:s%1:sSK_AERO Library%1:sBrewIdeas©Emil Weiss'; ... var MessageStr : String; sYear : String; begin ... sYear := FormatDateTime('yyyy', Date); MessageStr := Format(csVersion,[sYear,sLinebreak]); ShowMessage(MessageStr); ... end; |
AW: Zeilenumbruch verbessern
Die Lösung von Peter ist gut für mich..
Danke. gruss |
AW: Zeilenumbruch verbessern
Fertisch..
Es geht nur um das Interface.. Es gibt keine ausführende Funktionen So werden die Button für das Menu erstellt. Daraus ergibt sich dann einer dieser Einträge.
Delphi-Quellcode:
gruss
btnMenu := CTRL_PushButtonCreate;
btnMenu.ImagePath := SpriteResPath + 'BTN_Push.png'; btnMenu.Text := PWideChar(sLabel); btnMenu.Left := 1 + 20; btnMenu.Top := Step; btnMenu.Width := w - (2 + 20); btnMenu.Height := Height; btnMenu.DlgItemID := ID; btnMenu.TextCol := gSprMenuC.GD_ARGB(255, 255, 255, 255); btnMenu.Label3D := -1; btnMenu.TextAlligment := Left; btnMenu.ImageStateMax := 0; btnMenu.ImageFrontPath := sResource; btnMenu.ImageFrontX := 4; btnMenu.ImageFrontY := 1; btnMenu.TextLeft := btnMenu.Left + 8; btnMenu.CreateWindow(HSprMenuC); btnMenu.Enabled := true; SKAERO_SetZorder(HSprMenuC, HWND_TOP); ShowWindow(btnMenu.Handle, SW_HIDE); if UseCheck then begin btnMenu.SetPrivateFont(SpriteResPath + 'Marlett.ttf', MarletFontName, 22, FontStyleRegular, gSprMenuC.GD_ARGB(255, 0, 0, 0), PWideChar(sCheck), w - (Height + 20), 2, Height - 4, 22, ID, SKAERO_BTNTEXTCOLOR, false, BS_LABEL_LEFT, -1, btnMenu.Handle); end; |
AW: Zeilenumbruch verbessern
Könnte mal bitte jemand das teil testen?
Es geht mir darum ob das Menu Flicker frei bei euch läuft. Danke. PS: Seid so fair und gebt doch bitte eine Rückmeldung wenn ihr den Kram schon ladet. Thanks! Andernfalls macht es keine sinn die Datei überhaupt runter zu laden. Danke für das testen. (Anhang gelöscht) gruss |
AW: Zeilenumbruch verbessern
Läuft bei mir leider nicht. Die Datei Graphics.dcu wird nicht gefunden.
|
AW: Zeilenumbruch verbessern
Auf Win7x64 läuft es und auch flickerfrei.
Nur wenn ich die Fensterhöhe per Titlebar verändere dann tun mir "die Augen weh". |
AW: Zeilenumbruch verbessern
Zitat:
Alles andere läuft bei mir auf Windows 8.1 64 Bit flickerfrei. Das Einzige was aufgefallen ist, ist, dass bei Abwahl der Checkboxen "Crystal" oder "Blur mode" zuerst ganz kurz ein Zwischenbackground kommt und dann erst der Standard. |
AW: Zeilenumbruch verbessern
Zitat:
Zitat:
Windows 10 verwendete eine andere Methode für Blur wundert mich das es unter win7 damit noch geht. Zitat:
Zitat:
Diese Implementierung ist unter Windows 10 sehr schlecht. Es arbeitet nicht mit WM_PRINT zusammen und die Regionen von Fenstern werden grundsätzlich ignoriert. Nebenbei der Fix für den Resize.. auch wenn es darum eigentlich nicht ging.
Delphi-Quellcode:
gruss
{$REGION 'Procedure ResizeWindow'}
procedure ResizeWindow(WinHandle: HWND; ChangeBackground: integer); begin if SKAERO_IsEngineAssigned then begin // Nicht minimiert if ChangeBackground = 0 then if not IsIconic(WinHandle) then ShowWindow(WinHandle, SW_HIDE); if SKAERO_Composited(WinHandle) then lRes := SKAERO_BeginDeferWindowPos(WinHandle, 0); // Hintergrund neuzeichnen SKAERO_DrawBackground(WinHandle); // Controls Repositionieren SKAERO_AnchorEnum(WinHandle); if SKAERO_Composited(WinHandle) then SKAERO_EndDeferWindowPos(WinHandle, lRes); if ChangeBackground <> 0 then SKAERO_UpdateWindow(WinHandle, False); if ChangeBackground = 0 then ShowWindow(WinHandle, SW_SHOW); end; end; {$ENDREGION} |
AW: Zeilenumbruch verbessern
Zitat:
Mache das mal mit dem Explorer.. was denkst du was dort abgeht? Richtig genau das selbe nur halt nicht ganz so sichtbar wie bei mir. Von oben verändert.. Schau mal wie die Statusbar da rum hüpft. Von der linken Seite verändert.. Da hüpft fast alles rum. Wie soll man das als Developer korrekt ausrichten wenn es selbst der Explorer nicht mal kann. gruss |
AW: Zeilenumbruch verbessern
[QUOTE=EWeiss;1434556Das hat dann aber mit deinem System zu tun Graphics ist eine Standard Unit in Delphi.[/QUOTE]
Es musste bei mir vcl.graphics heißen, jetzt läuft es. Win7 64Bit Hüpft halt wie schon geschrieben. Blur und Crystal funktionieren ohne Probleme. |
AW: Zeilenumbruch verbessern
Zitat:
Entferne in uMain\WinMain bei wc.style "CS_HREDRAW or CS_VREDRAW" dann hüpfen zumindest die Controls nicht mehr. Die rechte Seite zieht jedoch immer noch nach. Nun gut bedient man das Teil normal über die Rechte Seite beim resize dann hat man die Probleme nicht.
Delphi-Quellcode:
{$REGION 'Procedure ResizeWindow'}
procedure ResizeWindow(WinHandle: HWND; ChangeBackground: integer); begin if SKAERO_IsEngineAssigned then begin if SKAERO_Composited(WinHandle) then lRes := SKAERO_BeginDeferWindowPos(WinHandle, 0); // Hintergrund neuzeichnen SKAERO_DrawBackground(WinHandle); // Controls Repositionieren SKAERO_AnchorEnum(WinHandle); if SKAERO_Composited(WinHandle) then SKAERO_EndDeferWindowPos(WinHandle, lRes); SKAERO_UpdateWindow(WinHandle, False); SKAERO_UpdateWindow(TabInfo.Handle, False); end; end; {$ENDREGION}
Delphi-Quellcode:
gruss
function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar; nCmdShow: integer)
: integer; stdcall; var Msg: TMsg; myClass: PWideChar; myTitle: PWideChar; dwStyle: DWORD; dwExStyle: DWORD; wc: TWndClassEx; X: integer; Y: integer; IsInitialized: Bool; rc: TRect; Path: string; begin myClass := 'POPUPWINDOW'; wc.cbSize := SIZEOF(wc); IsInitialized := GetClassInfoEx(hInstance, myClass, wc); if IsInitialized = False then begin wc.cbSize := SIZEOF(wc); // Remove the Flicker of Window change size from left or Top side // deactivate CS_HREDRAW or CS_VREDRAW wc.style := CS_DBLCLKS; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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