Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by RSE,
12. Jul 2010
Hm, mit Align zu arbeiten wäre eine einfachere Möglichkeit gewesen, aber jetzt bin ich fast am Ziel :-) Ich habe folgendes programmiert:
...
procedure SetHTMLCaptionHeight(const AValue: Integer); // löst alles aus
procedure WMNCCalcSize(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMNCPaint(var Message: TWMNCPaint); message WM_NCPAINT;
property...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by RSE,
12. Jul 2010
Korrektur meiner Aussage von eben:
Mein Test mit WMNCCalcSize verschiebt die MyCheckBox dorthin, wo ich sie haben will. Ich muss jetzt nur noch all das selbst zeichnen, was außerhalb des eingeschränkten Clientbereichs liegt.
procedure TMyControl.WMNCCalcSize(var Message: TWMNCCalcSize);
begin
with Message.CalcSize_Params^ do
Inc(rgrc.Top,FCaptionHeight);
inherited;
end;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by RSE,
12. Jul 2010
Nein, durch ein Überschreiben von AdjustclientRect verschieben sich die untergeordneten Elemente auch nicht von selbst. Ich drücke mich mal etwas bildlicher aus, vielleicht habe ich es ja immernoch nicht korrekt formulieren können, was ich will:
Meine Komponente heiße MyControl. "Innerhalb" MyControl gebe es eine MyCheckbox, so dass MyCheckbox.Parent = MyControl. Wenn ich nun MyCheckbox.Top :=...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by RSE,
12. Jul 2010
Ich dachte eigentlich, dass ich ClientRect selbst ändern müsste. Ich werde mal probieren, was AdjustClientRect bewirkt.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by RSE,
12. Jul 2010
Hallo,
ich entwickle ein eigenes von TCustomControl abgeleitetes Control. Dessen Clientbereich soll nicht den ganzen Bereich des Controls umfassen, sondern oben einen von Caption abhängigen Bereich ausklammern. Der Clientbereich verändert sich also (wegen Zeilenumbruch) abhängig vom Caption in der Höhe und in der Position (Top). Was ich bis jetzt herausgefunden habe: Lediglich ClientHeight und...