Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Omega in Form-Caption (https://www.delphipraxis.net/8437-omega-form-caption.html)

flomei 4. Sep 2003 15:45


Omega in Form-Caption
 
Hallo!
Wie kriege ich ein Omega in meine Caption? Laut Windows-Zeichentabelle ist das ein Unicode Zeichen. Gibt es dafür auch einen Hex-Wert oder muss ich dieses Unicode Zeichen nehmen. Wie macht man das mit Unicode Zeichen?

Thx for help!

MfG Florian :hi:

neolithos 4. Sep 2003 15:48

Re: Omega in Form-Caption
 
Mittels VCL hast du da schlechte Karten da diese nicht für Unicode-Programme gemacht ist.

Dies ist nur in nonVCL möglich.

ODER

Du zeichnest den Titel im WM_NCPAINT neu mit DrawTextW.
dann klapps auch mit der VCL

flomei 4. Sep 2003 15:53

Re: Omega in Form-Caption
 
Schade. Ich hatte noch eine tolle Idee. Ich hab die TNT Controls die auch für DoubleKiller verwendet werden genommen. Diese unterstützen Unicode. Im OnCreate wollte ich dann die Caption dem Label anpassen. Hat aber leider nicht geklappt. Im Label steht es richtig aber in der Caption steht ein O... Das Omega ist ja bekanntlich das Griechische O...

Gibt es keine anderen Möglichkeiten als NonVCL???

MfG Florian :hi:

neolithos 4. Sep 2003 15:54

Re: Omega in Form-Caption
 
Hab ich doch geschrieben.

setze Caption auf ''
und male im WM_NCPAINT via DrawTextW dein Omega

flomei 6. Sep 2003 01:33

Re: Ω in Form-Caption
 
Entweder kann oder will ich das jetzt nicht verstehen. :roll:
Könntest du mir das vielleicht ein bisschen genauer erklären? So was hab ich nämlich noch nie gemacht...

Thx im Vorraus!

MfG Florian :hi:

Daniel B 6. Sep 2003 01:56

Re: Omega in Form-Caption
 
Hi,

statt dem AppName musst Du da ein String machen wo Dein Omega drin ist und das dann austauschen:
Delphi-Quellcode:
    WM_NCPAINT:
      begin
        DefWindowProc(hWnd, uMsg, wParam, lParam);
        dc := GetWindowDC(hWnd);
        rect.Left := GetSystemmetrics(SM_CXEDGE);
        rect.Top := GetSystemmetrics(SM_CYEDGE) + 2;
        rect.Right := WindowWidth - GetSystemmetrics(SM_CXEDGE);
        rect.Bottom := GetSystemmetrics(SM_CYCAPTION) + GetSystemmetrics(SM_CYEDGE);
        SetBkMode(dc, TRANSPARENT);
        SetTextColor(dc, RGB(255, 255, 255));
        DrawText(dc, @AppName[1], lstrlen(@AppName[1]), rect, DT_CENTER or DT_VCENTER);
        ReleaseDc(hWnd, dc);
      end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 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