wyśrodkowanie napisu na pasku tytułowym okna (caption)

0

Witam,
jak wyśrodkować Caption formy w delphi (nowsze środowiska)?

Sprawdzać szerokość okna i dodawać spacje?
System windows nie obsługuje napisów na środku więc jakoś to trzeba sprytnie oprogramować...
proszę o propozycje, thx

0

niestety nie potrafie ogarnac tego rysowania...

procedure WMNCPaint(var Msg: TWMNCPaint); message WM_NCPAINT;

procedure TAppForm.WMNCPaint(var Msg: TWMNCPaint);
var  ACanvas : TCanvas;
begin
  inherited;
  ACanvas := TCanvas.Create;

  try
    ACanvas.Handle := GetWindowDC(Handle);
    with ACanvas do
    begin
      Brush.Color := clActiveCaption;
      Font.Name := 'Tahoma';
      Font.Size := 8;
      Font.Color := clred;
      Font.Style := [fsItalic, fsBold];
      TextOut(GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CXBORDER), Round((GetSystemMetrics(SM_CYCAPTION) - Abs(Font.Height))/2) +1, ' Some Text');
    end;
  finally
    ReleaseDC(Handle, ACanvas.Handle);
    ACanvas.Free;
  end;
end; 
0

To zapomnij o środkowaniu lub poszukaj odpowiedniego komponentu lub zamów wykonanie.

0

zapomniałem dopisać że nie działa na formie głównej, na 'dzieciach' działa.
Więc prosiłbym kogoś kto ma chwilkę czasu żeby u siebie potwierdził ten problem...

0
  1. Wchodzisz na MSDN
  2. Znajdujesz WM_NCPAINT
  3. Czytasz ze zrozumieniem

1 użytkowników online, w tym zalogowanych: 0, gości: 1